Commit Graph

23 Commits

Author SHA1 Message Date
David Li
a130006227 GLES2Dbg: more tests and minor fixes/improvements
Change-Id: I55c360372623c019da0c1ba2eebbc68f73f0f211
Signed-off-by: David Li <davidxli@google.com>
2011-04-22 18:18:30 -07:00
David Li
9df3fc14d2 GLES2Dbg: use GL implementation constants sent from server
Change-Id: I29d48a3e1454a284e714bc3b2f9e6350b0085c21
Signed-off-by: David Li <davidxli@google.com>
2011-04-19 15:33:41 -07:00
David Li
7698df91fa GLES2Dbg: initial tests
Also remove GLFunction enum, since the enums already exist in
DebuggerMessage.Function

Change-Id: If273041b73ab51c9aff405ce6d6cce387b4a3725
Signed-off-by: David Li <davidxli@google.com>
2011-04-18 15:21:53 -07:00
David Li
c26ad8b03b GLES2Dbg: noop - camelCase function names
Change-Id: Ifff2157fc9acd6d51b652a157a086dd0f81a67ae
Signed-off-by: David Li <davidxli@google.com>
2011-04-18 15:21:53 -07:00
David Li
3a9021e615 GLES2Dbg: generate Android.mk and main function
Change-Id: Ib44a86cf4b675f6ace930bebf12873178d49c989
Signed-off-by: David Li <davidxli@google.com>
2011-04-18 15:21:32 -07:00
David Li
5d916dff8b GLES2Dbg: reconstruct vertex attributes to match indices
Rather than converting glDrawElements into glDrawArrays and
 uploading all attributes each draw call.
Also added CaptureDraw and CaptureSwap options.

Change-Id: If8ac6556a2674868ce83f074ce4068a6af2d3a0e
Signed-off-by: David Li <davidxli@google.com>
2011-04-18 15:21:32 -07:00
David Li
7befbd7dee GLES2Dbg: cache Messages to RandomAccessFile
-Load and format Message when the frame is selected to save memory.

Change-Id: I4ff9edf049dc724a73d6643bde1d53ec8b625114
Signed-off-by: David Li <davidxli@google.com>
2011-04-18 15:21:32 -07:00
David Li
7ec777341e GLES2Dbg: code gen for frame
Also loading *.gles2dbg dump files.

Change-Id: I87e5ae6fda22b3cad920d2a06671efef5adb2e8a
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
1768bb7806 GLES2Dbg: organize calls into frames and contexts
Maintain a current state for each context updated by each call.
eglSwapBuffers Begins a new frame; clone current state.
Use clone to compute context for a call within that frame later on,
 in the context tree view.

Change-Id: I66658561f610025b203a991b5b9f545a9a2f9cd4
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
55fee09e0c GLES2Dbg: add more state tracking and snapshot of state per GL call
Use TreeView and Reflection to display the states per GL call.
Need to implement more state cloning and tacking.
Prepare to group calls by frame, and clone the context for each frame.

Change-Id: Ib1e5c175da779610204003e352cc1fcf66af969b
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
c93109f059 GLES2Dbg: use mesa glsl_compiler for syntax checking
Also switch to TabFolder for GUI

Change-Id: If7f5b7d8d826ada17579ca4d031f46d1238bba27
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
9c4ef35e35 GLES2Dbg: improve protocol and error check after shader upload
Change-Id: I0bd3867e0532e1c64c62db816be31ba0102c7e49
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
a60b6e69bf GLES2Dbg: implemented shader tracking and editing
Next commit is improving the protocol and
 checking errors after shader upload

Change-Id: I6afe3b63a68e00cd395885fd26cd6fcb311cfbec
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
766c4e5a44 GLES2Dbg: use 256KB chunks for lzf compression
Data format is u32 totalDecompressedSize, then repeat:
u32 chunkDecompressedSize, u32 chunkCompressedSize, chunk data.
If chunkCompressedSize == 0, then chunk is not compressed.

Also start fixing integer sizes on server.
On client, set endianness to match server.

Change-Id: I70c8203037ad7165968ca0d02d0da5f7cc14b7e0
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
067eefee5a GLES2Dbg: implemented MessageParser
To allow user to input GL function call

Change-Id: I5e19c11d74ed7a6bf6c5cafcbd58a0da952b0b46
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
5089368bc7 GLES2Dbg: added SETPROP expectResponse
To allow "stepping" in functions.
Also fix bug in reference frame.
Use reference frame for CopyTex(Sub)Image2D.

Change-Id: I70083200a1e911aaeb74ca85cb10bae16bd4db18
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
7bc448f9d5 GLES2Dbg: change TableViewer to ListViewer
For much faster scrolling

Change-Id: I72d91581c52038c090d21cc9307327d5e774c4cd
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
0ad029674b GLES2Dbg: added reference frame for glReadPixels
Change-Id: I7d6900e3101be61fb7801b3ca2eaea603d917e6b
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
David Li
0a5638a10b GLES2Dbg: use liblzf for compressing images
liblzf is in external/liblzf

Change-Id: I5425529cbb24acaf5c41a9046784a8fa7c1791f9
Signed-off-by: David Li <davidxli@google.com>
2011-04-12 15:55:59 -07:00
Jamie Gennis
548c959907 GLES2Dbg: Remove spurious execute file permissions.
This change is just a chmod -x of some files that shouldn't aren't
executable.

Change-Id: I6599f73d474e6ddadff2df6289c75e4e136219fe
2011-03-22 15:10:47 -07:00
David Li
6f85d436f3 GLES2Debugger: Make command exchange async to improve performance.
In message loop, use select to check for available commands from client,
 rather than always expecting commands in eglSwapBuffers.
Client can send commands at any time.

Change-Id: I607c8fa571a896996c0a3300de904b6e263fc281
Signed-off-by: David Li <davidxli@google.com>
2011-03-11 11:11:41 -08:00
David Li
8b2eabd60d Added state tracking and vertex data capturing.
Change-Id: I91604740aa73a5611f0eb511d02f09a767273700
Signed-off-by: David Li <davidxli@google.com>
2011-03-08 16:57:24 -08:00
David Li
5d710c2629 Initial commit of OpenGL ES 2.0 Debugger Client
Displays GL call parameters, textures, screen captures and shader source.
Server code is in frameworks/base/opengl/libs/GLES2_dbg.
Protobuf code is generated using generate_debugger_message_proto.py in server code.

Change-Id: Ibe105b60dbe59af84f721c077d2c138a4d04767e
Signed-off-by: David Li <davidxli@google.com>
2011-03-07 18:27:46 -08:00