summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Marchesin <stephane.marchesin@gmail.com>2010-05-15 04:13:54 +0200
committerStephane Marchesin <stephane.marchesin@gmail.com>2010-05-15 04:13:54 +0200
commit06c600dafbb5da7e718d5a93e2c7d72b0f07a511 (patch)
tree521387e2c176fb8b46931fae49e6caea9e99b18f
parent4a8781b2bab6f8e1087a89acfca3fbf222a79523 (diff)
Blah blah.HEADmaster
-rw-r--r--tegra.txt23
1 files changed, 16 insertions, 7 deletions
diff --git a/tegra.txt b/tegra.txt
index c272956..0e6ac50 100644
--- a/tegra.txt
+++ b/tegra.txt
@@ -1,22 +1,27 @@
-Tegra/Tegra2 reverse engineering notes.
+Tegra2 reverse engineering notes.
-Tegra uses PIO fifos. The design is fairly recent but I can't match it to a
+Tegra2 uses PIO fifos. The design is fairly recent but I can't match it to a
specific nv** version yet. Of course the offsets don't match other graphics
objects, seemingly those are much smaller. Still, they speak OpenGL (ES) at
the hardware level though. Color constants seem to be given as float values
-always.
+always. All hw regs are R/W which is very convenient to avoid duplicate state
+both in memory and on the GPU; you can just glGet from the hw directly.
-The graphic object layout:
-0x044 put
+We have a GLES2 object. GLES1 is yet unexplored (do we really care?) but seems
+weird.
+
+The GLES2 object layout:
+0x044 put+get. makes sense since regs are now all read+write
0x264 current program addr
0x3d4 active texture 0
0x3d8 active tex 1
...
0x3e8 pixel store
0x3ec pixel store
-0x3f4 utilisé dans glHint
-0x3f5 utilisé dans glHint
+0x3f0 GL_GENERATE_MIPMAP_HINT
+0x3f4 some type of glHint?
+0x3f5 some type of glHint too but unaligned?
0x4ec vertex attribute
0x4f4 glRenderbufferPparameteriv
0x4f8 blend eq separate
@@ -44,6 +49,10 @@ The graphic object layout:
0x5ac scissor Y
0x5b0 scissor width
0x5b4 scissor height
+0x5b8 viewport X
+0x5bc viewport Y
+0x5c0 viewport width
+0x5c4 viewport height
0x5c8 depth near
0x5cc depth far