aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Correctly set error code" into studio-1.0-dev automerge: 7b26ed5bohu2014-11-250-0/+0
|\ | | | | | | | | | | | | automerge: 2cd704d * commit '2cd704d9f6686cd4aa9088b7d86aa3e507974b2b': Correctly set error code
| * Merge "Correctly set error code" into studio-1.0-devbohu2014-11-252-4/+28
| |\ | | | | | | | | | | | | | | | | | | automerge: 7b26ed5 * commit '7b26ed51415fc2e4536c6841a37c3b5ff2f143ac': Correctly set error code
| | * Merge "Correctly set error code" into studio-1.0-devbohu2014-11-252-4/+28
| | |\
| | | * Correctly set error codebohu2014-11-252-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | Fixed a few error codes to be more accurate Change-Id: Ifad6bf51c399215a9110bd40cfd380309ac6422c
* | | | Merge "Validate glClear mask" into studio-1.0-dev automerge: 22fd6d1bohu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: e0e7d8d * commit 'e0e7d8d681394eb3f5003504552965dbbf471ef5': Validate glClear mask
| * | | Merge "Validate glClear mask" into studio-1.0-devbohu2014-11-251-0/+3
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: 22fd6d1 * commit '22fd6d1c9dda57e3cd549d1ae3143bd5768fae23': Validate glClear mask
| | * | Merge "Validate glClear mask" into studio-1.0-devbohu2014-11-251-0/+3
| | |\|
| | | * Validate glClear maskbohu2014-11-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The mask should only be a combination of GL_DEPTH_BUFFER_BIT, GL_COLOR_BUFFER_BIT, and GL_STENCIL_BUFFER_BIT Change-Id: Ic448bd33a9bf0dc50db4298a53e96dd128fd110c
* | | | Merge "Check and return correct error code" into studio-1.0-dev automerge: ↵bohu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a919f37 automerge: f973421 * commit 'f97342105f6902a022aa6604a24c464e452f7cb4': Check and return correct error code
| * | | Merge "Check and return correct error code" into studio-1.0-devbohu2014-11-251-3/+5
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: a919f37 * commit 'a919f37fee492d69411eff7930a0bb525fa37aa1': Check and return correct error code
| | * | Merge "Check and return correct error code" into studio-1.0-devbohu2014-11-251-3/+5
| | |\|
| | | * Check and return correct error codebohu2014-11-251-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | check and return proper error codes when negative width, height or size or wrong internal texture format is passed in. Change-Id: Ic4ddea55042d8e21f8729a7ca675a44a232b7c7c
* | | | Merge "validate glBufferData\'s usage parameter" into studio-1.0-dev ↵bohu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: 8f034d0 automerge: ce33946 * commit 'ce339460e286730fe054286b586c31ca45849cb8': validate glBufferData's usage parameter
| * | | Merge "validate glBufferData\'s usage parameter" into studio-1.0-devbohu2014-11-253-0/+12
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: 8f034d0 * commit '8f034d098851b663106b76107cc18eefe9c59a9b': validate glBufferData's usage parameter
| | * | Merge "validate glBufferData's usage parameter" into studio-1.0-devbohu2014-11-253-0/+12
| | |\|
| | | * validate glBufferData's usage parameterbohu2014-11-253-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Only GL_STREAM_DRAW, GL_STATIC_DRAW and GL_DYNAMIC_DRAW usages are allowed. Change-Id: I2d6a425363c32330d25272d26884d32610d8dd19
* | | | Merge "Detach texture or renderbuffer when deleting them" into ↵bohu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | studio-1.0-dev automerge: 171cb6d automerge: a15d122 -s ours * commit 'a15d122e5c1aea7031f8e9fe7a2c4ec105e0ffd9': Detach texture or renderbuffer when deleting them
| * | | Merge "Detach texture or renderbuffer when deleting them" into studio-1.0-devbohu2014-11-252-1/+29
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: 171cb6d * commit '171cb6dee4d0819dac219b9f9d5ea580c967efd4': Detach texture or renderbuffer when deleting them
| | * | Merge "Detach texture or renderbuffer when deleting them" into studio-1.0-devbohu2014-11-252-1/+29
| | |\|
| | | * Detach texture or renderbuffer when deleting thembohu2014-11-252-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a texture or renderbuffer is still attached to framebuffer but is getting deleted, it should also be detached from framebuffer. Change-Id: Ide2c2a0e36ca8bf58f9351a17b78b76ebd507c12
* | | | Merge "emulator/opengl: Fix glShaderSource() signature." into studio-1.0-dev ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: d73586f automerge: afe43c1 * commit 'afe43c1dd7887515b26ed78949413ab8a2be5970': emulator/opengl: Fix glShaderSource() signature.
| * | | Merge "emulator/opengl: Fix glShaderSource() signature." into studio-1.0-devBo Hu2014-11-2510-9/+10
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: d73586f * commit 'd73586f9b06ed22fa91f5c0ab3dc441a5acc0fbc': emulator/opengl: Fix glShaderSource() signature.
| | * | Merge "emulator/opengl: Fix glShaderSource() signature." into studio-1.0-devBo Hu2014-11-2510-9/+10
| | |\|
| | | * emulator/opengl: Fix glShaderSource() signature.David 'Digit' Turner2014-11-2510-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glShaderSource() function really takes a 'const GLchar* const*' parameter, not 'const GLchar**'. This creates issues when compiling the auto-generated encoders created with the latest version of 'emugen' and the GL2 Khronos headers. This patch is used to fix the issue. Note that it requires defining a new type in gl2.types, as well as fixing the signature of misc functions in the translator. Change-Id: I750f95f2e33d83b3b5563642ad7f87e4b8a37f35
* | | | Merge "emulator/opengl/emugen: Add new \'flushOnEncode\' entry point flag." ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into studio-1.0-dev automerge: e48f581 automerge: 5881b7c * commit '5881b7cdda6a69438be7c61bd540e27c5db400e4': emulator/opengl/emugen: Add new 'flushOnEncode' entry point flag.
| * | | Merge "emulator/opengl/emugen: Add new \'flushOnEncode\' entry point flag." ↵Bo Hu2014-11-2522-2/+71
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into studio-1.0-dev automerge: e48f581 * commit 'e48f581edc5f837b52b1ce7dbda380c0121205e6': emulator/opengl/emugen: Add new 'flushOnEncode' entry point flag.
| | * | Merge "emulator/opengl/emugen: Add new 'flushOnEncode' entry point flag." ↵Bo Hu2014-11-2522-2/+71
| | |\| | | | | | | | | | | | | into studio-1.0-dev
| | | * emulator/opengl/emugen: Add new 'flushOnEncode' entry point flag.David 'Digit' Turner2014-11-2522-2/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a new flag that can be applied to entry points for 'emugen', named 'flushOnEncode'. When used, the generated encoder will call stream->flush() just after adding bytes to the stream. This is needed to match the manual change that was performed in the renderControl encoder in the following patch: https://android-review.googlesource.com/#/c/95864/ Change-Id: I8cc8fdb0d38ef27e8ba646c83d717166400babfd
* | | | Merge "emulator/opengl: Remove compiler warnings." into studio-1.0-dev ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: fc65f7b automerge: b01007b * commit 'b01007b3a78d365e181863ba5ea5d5d13b5804ab': emulator/opengl: Remove compiler warnings.
| * | | Merge "emulator/opengl: Remove compiler warnings." into studio-1.0-devBo Hu2014-11-253-2/+4
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: fc65f7b * commit 'fc65f7be97b2f0d89bac0d0699cb40236ec4461a': emulator/opengl: Remove compiler warnings.
| | * | Merge "emulator/opengl: Remove compiler warnings." into studio-1.0-devBo Hu2014-11-253-2/+4
| | |\|
| | | * emulator/opengl: Remove compiler warnings.David 'Digit' Turner2014-11-253-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch ensures that the auto-generated client_context.h headers do not generate compiler warnings in the setError() function. + Remove tiny warning for NativeLinuxSubWindow.cpp Change-Id: Ibab92ab3332fd284589435732b52c011ae21c15f
* | | | Merge "emulator/opengl/emugen: Small cleanup of autogenerated sources." into ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | studio-1.0-dev automerge: e069e88 automerge: c4405d5 -s ours * commit 'c4405d530993fdd8a6ee180392120f2a391874f1': emulator/opengl/emugen: Small cleanup of autogenerated sources.
| * | | Merge "emulator/opengl/emugen: Small cleanup of autogenerated sources." into ↵Bo Hu2014-11-257-52/+49
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | studio-1.0-dev automerge: e069e88 * commit 'e069e880d047034913369893b6dda7f3359832e8': emulator/opengl/emugen: Small cleanup of autogenerated sources.
| | * | Merge "emulator/opengl/emugen: Small cleanup of autogenerated sources." into ↵Bo Hu2014-11-257-52/+49
| | |\| | | | | | | | | | | | | studio-1.0-dev
| | | * emulator/opengl/emugen: Small cleanup of autogenerated sources.David 'Digit' Turner2014-11-257-52/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch ensures the generated sources are cleaned up a little bit, more specifically: - Add proper end-ifdef-guard comments. - Use anonymous C++ namespaces to avoid name conflicts in the encoder. - Remove extra spaces / empty lines / indent. - Use 'const' when defining constant tables. Change-Id: Ib11fd06adb9075d472d1dd2fd6defb0760aaa2c2
* | | | Merge "emulator/opengl: Add emugen test suite." into studio-1.0-dev ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: a6ac66d automerge: e6143f3 -s ours * commit 'e6143f30dfe6ecb2ab2d8b8c1d030b345d45cd28': emulator/opengl: Add emugen test suite.
| * | | Merge "emulator/opengl: Add emugen test suite." into studio-1.0-devBo Hu2014-11-2522-0/+629
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: a6ac66d * commit 'a6ac66d116fdb063b153d84fe19e37dfeac5670b': emulator/opengl: Add emugen test suite.
| | * | Merge "emulator/opengl: Add emugen test suite." into studio-1.0-devBo Hu2014-11-2522-0/+629
| | |\|
| | | * emulator/opengl: Add emugen test suite.David 'Digit' Turner2014-11-2522-0/+629
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a small test suite to check the output of the 'emugen' program. This serves two purposes: 1) To more easily check that modifications to 'emugen' do not break stuff liberally. 2) To better document how the changes in the generator actually modify the output. To run it, simply call the 'run-tests.sh' script with 'emugen' in your path, or use --emugen=<program> otherwise. See --help for more details. NOTE: The test suite currently doesn't check that the generated sources compile properly, or that they even work as expected. See the following external/qemu patch to call run-tests.sh during each android-rebuild.sh run: https://android-review.googlesource.com/112541 Change-Id: I148e456ce726bda7168d433e407fe967959839f6
* | | | Merge "emulator/opengl/emugen: Use local variables for parameters." into ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | studio-1.0-dev automerge: 92f3bfc automerge: ec75031 * commit 'ec7503107d51e5831c7934348c619458c3baadd7': emulator/opengl/emugen: Use local variables for parameters.
| * | | Merge "emulator/opengl/emugen: Use local variables for parameters." into ↵Bo Hu2014-11-250-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | studio-1.0-dev automerge: 92f3bfc * commit '92f3bfce2faca58758475b3f62685b6f13ef7f20': emulator/opengl/emugen: Use local variables for parameters.
| | * | Merge "emulator/opengl/emugen: Use local variables for parameters." into ↵Bo Hu2014-11-251-83/+100
| | |\| | | | | | | | | | | | | studio-1.0-dev
| | | * emulator/opengl/emugen: Use local variables for parameters.David 'Digit' Turner2014-11-251-83/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify the generated decoder to extract paramters from the stream into local variables, the rules are: - non-pointer parameters are extracted into local variables named "var_<name>", where <name> is the parameter name as it appears in the protocol specification for the entry. - for input pointers, use "inptr_<name>", as well as "size_<name>" for the corresponding size in bytes. - for output pointers, use "outptr_<name>" and "size_<name>" This makes the generated code easier to understand, for example the following: case OP_glBindAttribLocation: { size_t tmpPtr2Size = (size_t)*(uint32_t *)(ptr + 8 + 4 + 4); InputBuffer tmpPtr2(ptr + 8 + 4 + 4 + 4, tmpPtr2Size); DEBUG("gl2(%p): glBindAttribLocation(%u %u %p(%u) )\n", stream,Unpack<GLuint,uint32_t>(ptr + 8), Unpack<GLuint,uint32_t>(ptr + 8 + 4), (const GLchar*)(tmpPtr2.get()), (uint32_t)tmpPtr2Size); this->glBindAttribLocation(Unpack<GLuint,uint32_t>(ptr + 8), Unpack<GLuint,uint32_t>(ptr + 8 + 4), (const GLchar*)(tmpPtr2.get())); SET_LASTCALL("glBindAttribLocation"); break; } becomes: case OP_glBindAttribLocation: { GLuint var_program = Unpack<GLuint,uint32_t>(ptr + 8); GLuint var_index = Unpack<GLuint,uint32_t>(ptr + 8 + 4); uint32_t size_name = Unpack<uint32_t,uint32_t>(ptr + 8 + 4 + 4); InputBuffer inptr_name(ptr + 8 + 4 + 4 + 4, size_name); DEBUG("gl2(%p): glBindAttribLocation(%u %u %p(%u) )\n", stream,var_program, var_index, (const GLchar*)(inptr_name.get()), size_name); this->glBindAttribLocation(var_program, var_index, (const GLchar*)(inptr_name.get())); SET_LASTCALL("glBindAttribLocation"); break; } Change-Id: Ifa8c73eec85b818d6d8b6371587da9fdfa57de8e
* | | | Merge "emulator/opengl/emugen: Move pointer increment out of case ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | statements." into studio-1.0-dev automerge: aa162a8 automerge: 1513b7d * commit '1513b7da4ef46b69a2b4eb2ed329ebdec6256ccb': emulator/opengl/emugen: Move pointer increment out of case statements.
| * | | Merge "emulator/opengl/emugen: Move pointer increment out of case ↵Bo Hu2014-11-250-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | statements." into studio-1.0-dev automerge: aa162a8 * commit 'aa162a82c54d55b85c199da7c9ad5ba8ddfa9a1e': emulator/opengl/emugen: Move pointer increment out of case statements.
| | * | Merge "emulator/opengl/emugen: Move pointer increment out of case ↵Bo Hu2014-11-251-8/+9
| | |\| | | | | | | | | | | | | statements." into studio-1.0-dev
| | | * emulator/opengl/emugen: Move pointer increment out of case statements.David 'Digit' Turner2014-11-251-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor patch that ensures that the pointer/position increment all happen at one place, instead of being replicated in each case statement. In other words, the generated code used to look like: switch (opcode) { case OP_someOperation1: { ... ptr += *(uint32_t)(ptr + 4); pos += *(uint32_t)(ptr + 4); break; } case OP_someOperation2: { ... ptr += *(uint32_t)(ptr + 4); pos += *(uint32_t)(ptr + 4); break; } ... default: { unknownOpcode = true; } Now it looks like: switch (opcode) { case OP_someOperation1: { ... break; } case OP_someOperation2: { ... break; } ... default: { unknownOpcode = true; } if (!unknownOpcode) { ptr += packetLen; pos += packetLen; } Which is cleaner. Also change the type of |opcode| and |packetLen| to uint32_t and size_t respectively. + Minor formatting changes to indentation. Change-Id: If0002fe18a24b9ce6691e3e3cd3e102d1e00d4c9
* | | | Merge "emulator/opengl/emugen: Introduce helper macros." into studio-1.0-dev ↵Bo Hu2014-11-250-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automerge: a1fb474 -s ours automerge: 1242234 * commit '12422344b3e444fba65b904e3e7bc60efaca1ea9': emulator/opengl/emugen: Introduce helper macros.
| * | | Merge "emulator/opengl/emugen: Introduce helper macros." into studio-1.0-devBo Hu2014-11-250-0/+0
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | automerge: a1fb474 -s ours * commit 'a1fb474bad1b9fd775b46d9630ce38e84c53ae57': emulator/opengl/emugen: Introduce helper macros.