Commit Graph

2587 Commits

Author SHA1 Message Date
David Turner
ed33ace4d6 am bc1b310f: am 69ae2a4a: am b49454ac: Merge "opengles emulator: limit X11 configs some more"
* commit 'bc1b310fb58f9063db2c8007aaffb3f8943021d8':
  opengles emulator: limit X11 configs some more
2011-08-10 12:25:49 -07:00
David Turner
63a01f8a39 am d0d6657a: am a9605f55: am 385ae28d: Merge "opengles emulator: fixing pointer size bug."
* commit 'd0d6657a50def057a362fc8b2f4dc5453cc4e2dd':
  opengles emulator: fixing pointer size bug.
2011-08-10 12:25:42 -07:00
David Turner
77903f5e7d am 1a50f15f: am ae707198: am 275e99fd: Merge "opengles emulator: remove compilation warning."
* commit '1a50f15fe90d53bec32eee197634bdcc45348cd8':
  opengles emulator: remove compilation warning.
2011-08-10 12:25:35 -07:00
David Turner
1b21295db1 am 7cd5d7bf: am 3d0d9865: am 26892efa: Merge "opengles emulator: fixed renderer termination flow"
* commit '7cd5d7bfdc6dcf826359270694c39e38fb5953ff':
  opengles emulator: fixed renderer termination flow
2011-08-10 12:25:22 -07:00
David Turner
ed738074f0 am edc55c16: am 611b3af6: am 385d396f: Merge "opengles emulator: fixing GL_HALF_FLOAT_OES bug"
* commit 'edc55c16c71f8e506a6d402b6547e431badb759c':
  opengles emulator: fixing GL_HALF_FLOAT_OES bug
2011-08-10 12:24:59 -07:00
David Turner
5892c4678b am 83202040: am 89c5482b: am 283df9c4: Merge "opengles emulator: forced GLSL version to be 120."
* commit '832020406793f8dfa8a93cff9e37d73966cefbe9':
  opengles emulator: forced GLSL version to be 120.
2011-08-10 12:24:51 -07:00
David Turner
90e65d4aa4 am b5e8d4c5: am 81973086: am c7fb2970: Merge "opengles emulator: GLES2 codec - glFinishRoundTrip"
* commit 'b5e8d4c52061ce3ff4153741f37017f299759352':
  opengles emulator: GLES2 codec - glFinishRoundTrip
2011-08-10 12:24:43 -07:00
David Turner
22aa5711b8 am eac7fbd6: am e6954209: am fc15a710: Merge "opengles emulator: test: added shader flags to triangleV2 test"
* commit 'eac7fbd6b316b0bca6d71ca7ac265935eecc413f':
  opengles emulator: test: added shader flags to triangleV2 test
2011-08-10 12:24:34 -07:00
David Turner
f08f3552da am f1482edd: am 96221311: am 8b5652be: Merge "opengles emulator: support glEGLImageTargetRenderbufferStorageOES"
* commit 'f1482edd61c931a0e49ceb64958817e856d7bb92':
  opengles emulator: support glEGLImageTargetRenderbufferStorageOES
2011-08-10 12:24:25 -07:00
David Turner
938dcb41ae am 8fbd35c5: am d76a7100: am 0660de71: Merge "emulator opengl: fixed encoding of glGenRendebuffer"
* commit '8fbd35c5b1c4a0d1edbbc07a63d4cf4bf66ad5c7':
  emulator opengl: fixed encoding of glGenRendebuffer
2011-08-10 12:24:16 -07:00
David Turner
47cf17717e am 10ed98e0: am e79b525d: am bf13fc81: Merge "opengles emulator: fix bugs in CUBE_MAP implementation in GLES_CM"
* commit '10ed98e01996e2286210c91288df6b91aaf05b98':
  opengles emulator: fix bugs in CUBE_MAP implementation in GLES_CM
2011-08-10 12:24:08 -07:00
David Turner
d2685c3ed1 am 8c764ac4: am 853839b7: am 3618e8c9: Merge "opengles emulator: add GL_OES_depth_texture extension"
* commit '8c764ac4476aafc0913a08726734eb6905121655':
  opengles emulator: add GL_OES_depth_texture extension
2011-08-10 12:23:59 -07:00
David Turner
dbb520c7e5 am c89c5e8c: am 124babe3: am 8abaa9a0: Merge "opengles emulator: fix GL_EXT_packed_depth_stencil string"
* commit 'c89c5e8cc7198ed6b2f5d82becb59b48681be353':
  opengles emulator: fix GL_EXT_packed_depth_stencil string
2011-08-10 12:23:46 -07:00
David Turner
c9955ab30b am d30bb0b4: am 2b96b0fc: am 42dd982a: Merge "opengles emulator: 2.0: handle texture=0 on glFramebufferTexture2D"
* commit 'd30bb0b4b77223136693b9934a22a6ed7528e249':
  opengles emulator: 2.0: handle texture=0 on glFramebufferTexture2D
2011-08-10 12:23:36 -07:00
David Turner
93d3e26aea am 5dd949d2: am 42d5bd12: am ad3f4df3: Merge "opengles emulator: limit GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS"
* commit '5dd949d29c14eb74870c9ce5fa7af21b629d8ece':
  opengles emulator: limit GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS
2011-08-10 12:23:26 -07:00
David Turner
2bcde19db4 am 6b445a64: am 9e0dba41: am 06524031: Merge "opengles emulator: Call XInitThreads on Linux."
* commit '6b445a641c38d4e68322d8270f761157ada9ebf9':
  opengles emulator: Call XInitThreads on Linux.
2011-08-10 12:23:16 -07:00
David Turner
d1a865e955 am 984ccfa1: am c4e4ba87: am 0e0638e5: Merge "opengles emulator: fix glGetShaderSource"
* commit '984ccfa1714e2bd556fecc50be4801a27e324e81':
  opengles emulator: fix glGetShaderSource
2011-08-10 12:23:06 -07:00
David Turner
39e424a7d7 am f0e93f96: am 30dce171: am a75d7c69: Merge "opengles emulator: fix GLESv2 shader source packing"
* commit 'f0e93f963461edd60fe04f0ea2620e92ba2008cf':
  opengles emulator: fix GLESv2 shader source packing
2011-08-10 12:22:56 -07:00
David Turner
41d23b20a3 am 5473c6ae: am ad3166ad: am 9e883e8b: Merge "opengles emulator: fix eglGetProcAddress"
* commit '5473c6ae9915720f06ae14e77b4779af1d161b33':
  opengles emulator: fix eglGetProcAddress
2011-08-10 12:22:45 -07:00
David Turner
eb0e8c8c67 am 8c6d04a6: am 53dfd83d: am 23685f03: Merge "opengles emulator: fixed EGLContext and EGLSurface ref-counting."
* commit '8c6d04a6622af7cdf970bb0e8deac87cc0d17013':
  opengles emulator: fixed EGLContext and EGLSurface ref-counting.
2011-08-10 12:22:34 -07:00
David Turner
63365c01a7 am 87cbeada: am 2ad48e99: am 54502698: Merge "opengles emulator: fix the mixing between pack/unpack alignments"
* commit '87cbeada5c446e39219ddde88ab2f1baf86702be':
  opengles emulator: fix the mixing between pack/unpack alignments
2011-08-10 12:22:22 -07:00
David Turner
8572c4c25a am 4b3baea5: am 6b2470ef: am 450fb0a6: Merge "opengles emulator: cache all buffer on the guest"
* commit '4b3baea5304207269c54c16e0429d9811d6eaa8a':
  opengles emulator: cache all buffer on the guest
2011-08-10 12:22:11 -07:00
David Turner
052c44775b am 19fdd87f: am 8cfde07c: am a0045f20: Merge "opengles emulator: dynamicaly grow ReadBuffer"
* commit '19fdd87fc6bb48557a0f64a6012f101f8427db47':
  opengles emulator: dynamicaly grow ReadBuffer
2011-08-10 12:21:59 -07:00
David Turner
d7b16f0ba3 am 8713e385: am ecb7c06f: am 321714ab: Merge "opengles emulator: fix eglGetError"
* commit '8713e3858c8868af8b89d1bad8b181f4570b3a1e':
  opengles emulator: fix eglGetError
2011-08-10 12:21:47 -07:00
David Turner
9cc4321d10 am 1a30107e: am 81e21789: am c1db962f: Merge "opengles emulator: inc/dec ref-count of buffer on SwapBuffers"
* commit '1a30107ecc1828d806737f2b9737d19fd70ec72a':
  opengles emulator: inc/dec ref-count of buffer on SwapBuffers
2011-08-10 12:21:34 -07:00
David Turner
bc034f4523 am 8c8a6187: am 47dd884b: Merge "opengles emulator: Support current value for attribute 0"
* commit '8c8a6187bd6d1b547696d568f9972128a8ed57ec':
  opengles emulator: Support current value for attribute 0
2011-08-10 02:23:41 -07:00
David Turner
6d9eec7c26 am 2f2f319d: am 1216e72a: Merge "opengles emulator: GLESv2: adding more params validation."
* commit '2f2f319d6811826b4a4a91b70e47dd98a4b8900a':
  opengles emulator: GLESv2: adding more params validation.
2011-08-10 02:23:38 -07:00
David Turner
594c3cee91 am 844c0987: am 364e9963: Merge "opengles emulator: check OES_standard_derivatives support"
* commit '844c0987e04b0616bbc795f111045b733e68c893':
  opengles emulator: check OES_standard_derivatives support
2011-08-10 02:23:36 -07:00
David Turner
276f4f4328 am 1a9ad005: am 0a931f55: Merge "opengles emulator: fix uniform name translation to apps"
* commit '1a9ad005bd7e492a2aa48e8be1a281b1c621374c':
  opengles emulator: fix uniform name translation to apps
2011-08-10 02:23:34 -07:00
David Turner
b035c43d42 am 8bbc54f4: am d20186af: Merge "opengles emulator: GLES2 translator / codec"
* commit '8bbc54f445eb2be9cdae8449f92edcf6d045a418':
  opengles emulator: GLES2 translator / codec
2011-08-10 02:09:45 -07:00
David Turner
c4c77c0cde am ef1e9fa0: am 490bb2af: Merge "opengles emulator: GLES fix memory leaks"
* commit 'ef1e9fa0205b4d6499cf8a414f2d407f6ba77388':
  opengles emulator: GLES fix memory leaks
2011-08-10 02:09:43 -07:00
David Turner
4b05e0654c am 0cc0cb10: am 90d4ce08: Merge "opengles emulator: support glEGLImageTargetRenderbufferStorageOES"
* commit '0cc0cb10602e32c3ca826999fb60e73fb2bea8b6':
  opengles emulator: support glEGLImageTargetRenderbufferStorageOES
2011-08-10 02:09:41 -07:00
David Turner
cf7a50b2d4 am e594f31f: am f3bb27a7: Merge "opengles emulator: filter-out non-RGB configs"
* commit 'e594f31fafd8d4ad9e5a00c260bf5f1b1a36c991':
  opengles emulator: filter-out non-RGB configs
2011-08-10 02:09:38 -07:00
David Turner
52dc2b9eba am 3fa3021e: am fb8c84d8: Merge "opengles emulator: Workaround Cordy (Unity) bug with intel driver."
* commit '3fa3021e55d624cc05a67a49c88e4dac36961457':
  opengles emulator: Workaround Cordy (Unity) bug with intel driver.
2011-08-10 02:09:36 -07:00
David Turner
1b0a25eecf am 5d1dc7c9: am f7e07ec9: Merge "opengles emulator: make glFramebufferTexture2D work"
* commit '5d1dc7c9814ca3d82ddf144cdad28b672659c21e':
  opengles emulator: make glFramebufferTexture2D work
2011-08-10 02:09:33 -07:00
David Turner
dd37090d15 am 54c1aa4f: am be19b0fd: Merge "opengles emulator: Separate FramebufferData to header and source files"
* commit '54c1aa4fcbfefa572dfdf57aa6e9bb19c92ab539':
  opengles emulator: Separate FramebufferData to header and source files
2011-08-10 02:09:30 -07:00
Yochai Shefi Simchon
97fa8de7a2 opengles emulator: Support current value for attribute 0
In GLES, a vertex shader attribute can be at location 0 and have
a current value. In OpenGL, the spec is not clear, resulting in
absurdities like the ATI driver binding an attribute to location
0, does not give an erro when you set it, but gives an error when
you try to get it back. And it doesn't actually set the value in
the shader.

So, in this patch we:

  1. Track attribute 0 value internally, setting and getting it
     as necessary.

  2. Upon glDrawArrays and glDrawElements, if attribute 0 is not
     "array enabled" (that is, it should use a current value) we
     create a dummy array, fill it with the intended current value,
     and attach and enable it. After the draw, we disable it.

Change-Id: I35f3e8a924e6fba236f4f4d85423b04ae448dad4
2011-08-10 11:00:10 +02:00
Amit Feller
c9d192691e opengles emulator: GLESv2: adding more params validation.
adding more params validations to some GL functions
which the OpenGL layer below us should check , but using Intel
Graphic driver those checks are ignored

Change-Id: I3ca2a891f1d9f988a7b662d6bc32b81e12cc333d
2011-08-10 11:00:10 +02:00
Amit Feller
af777c27ef opengles emulator: check OES_standard_derivatives support
fixin a bug when we declared that our implementation supports
OES_standard_derivatives without checking that the
openGL layer below supports this extention

Change-Id: Ic74f18eb753f0cfe067e23c3bf83905e40b17665
2011-08-10 11:00:10 +02:00
Liran
2ec2fa1a68 opengles emulator: fix uniform name translation to apps
add special handling of locations smaller or equal to 0
do not translate location -1 (this location means the
uniform is not found)

location 0 does not need translation, it has no effect

Change-Id: Idbde51f08433ed70a5a1a2cf1ede51043f3cca76
2011-08-10 11:00:10 +02:00
David Turner
a765e6e8c0 am b6a9f378: am 31978050: Merge "opengles emulator: GLESv2: glGetShaderPrecision"
* commit 'b6a9f37818fd4a4e1c670ad521d5e0b9176fec99':
  opengles emulator: GLESv2: glGetShaderPrecision
2011-08-10 01:55:38 -07:00
David Turner
0ee2955a59 am a68ff59e: am 63e88ce1: Merge "opengles emulator: fix initialization of vertex attribute"
* commit 'a68ff59e3c7d63f4767bd8af90d501417db1e53e':
  opengles emulator: fix initialization of vertex attribute
2011-08-10 01:55:36 -07:00
David Turner
04befcc927 am 2cd8a6d9: am dc84793a: Merge "opengles emulator: object name manager name generation"
* commit '2cd8a6d91614be6eae82c09d227610c0abcd8f23':
  opengles emulator: object name manager name generation
2011-08-10 01:55:34 -07:00
Liran
50c0fb0eff opengles emulator: GLES2 translator / codec
fix glGetAttachedShaders
NULL is allowed in count parameter
fix problem with nvidia driver which returned invalid count

Change-Id: Icfaa5688b04325de2890486eb87b163babaddf30
2011-08-10 10:53:06 +02:00
Liran
0fd3ee21c8 opengles emulator: GLES fix memory leaks
fix some memory leaks and potential risks
detected using valgrind

Change-Id: I0f69cf4d4b4ba5eeb9c735f6712c301bcd4d3d36
2011-08-10 10:53:06 +02:00
Guy Zadickario
f6b9241094 opengles emulator: support glEGLImageTargetRenderbufferStorageOES
needed changes to support glEGLImageTargetRenderbufferStorageOES,
added implementation in egl and added tokens to renderControl.

Also fixed function pointers returned by eglGetProcAddress to
return functions that works independant of the current context,
see system/egl/ClientAPIExts.cpp

That makes the egl_image conformance test to pass on the guest.

Change-Id: I580cda82ba0fb44f12b75aa0bbacf5cd9f15f744
2011-08-10 10:53:06 +02:00
Guy Zadickario
f1d98dd318 opengles emulator: filter-out non-RGB configs
some applications and conformance tests expects to have
non-zero bit counts for all red,green and blue channels.
The translator expose all EGL compliant configs, including
monochrome and RG configs.
We now filter those out and expose to the guest only the RGB
configs.

Change-Id: I9a293675359135a548ce1c089f31a48ea2b7f46e
2011-08-10 10:53:06 +02:00
Guy Zadickario
52829d82ab opengles emulator: Workaround Cordy (Unity) bug with intel driver.
Uniform locations are 32-bit values which the application queries
from the driver after a shader program is linked. It seems that Cordy
game (possibly all Unity based apps) store the returned location as
16-bit value. Intel driver returns location values in the upper 16-bit
range :(
This is a workaround for this issue, when a program is linked we check
the locations of all uniforms, if all locations are within the upper
16-bit range (as with Intel driver) we shift the location value before
returning to the application. Also override all functions which take
a location parameter and do the reverse shift before sending a location
value to the host.

Change-Id: I234aaafe3313774b5da79eb1dac713b89b10ad60
2011-08-10 10:53:06 +02:00
David Turner
997c4c2a62 am 2257c1fd: am 3127d80b: Merge "opengles emulator: handle window surface resize"
* commit '2257c1fd9f7f9d057bdc811208e342483c59c935':
  opengles emulator: handle window surface resize
2011-08-10 01:46:49 -07:00
David Turner
cf81212c67 am 705e64ef: am 3ba4f8b8: Merge "opengles emulator: fix bug in glTranslatex"
* commit '705e64ef2a8e57e98e449f6115ba9138d0c2b848':
  opengles emulator: fix bug in glTranslatex
2011-08-10 01:46:47 -07:00