Yochai Shefi Simchon
7e04a2421c
1.1 translator: WAR for GL_ALPHA_TEST_REF bug
...
Both the ATI and nVidia OpenGL drivers return the wrong answer on
glGetIntegerv(GL_ALPHA_TEST_REF). So Implement this functionality
in our code.
Change-Id: I022b1475f7edb9f1d0f48ebcaf9f6e9f5c4f344e
2011-08-04 12:01:49 +02:00
Yochai Shefi Simchon
926db88dd1
1.1 translator: glGet(GL_MAX_CLIP_PLANES) returns max 6
...
This is a WAR for an ATI OpenGL driver bug.
Change-Id: I0b54317873ed8c60fe835a993c2c8f32321ff8e2
2011-08-04 12:01:49 +02:00
Liran
ceb7fc9140
remove NV_WAR defines
...
enable workarounds by default
added environemnt variable GOOGLE_GLSL_FORCE_GLES_VERSION
to the shader parser
Change-Id: If1dbc10722436659295c40a40bd630a72e575799
2011-08-04 12:01:49 +02:00
Vladimir Chtchetkine
7c61dfc286
am dc6e4e64: am af0d8ed8: am 9a528ed9: Merge "Get rid of libqemu library."
...
* commit 'dc6e4e64de0036021dc4491ab0760d3aeb364019':
Get rid of libqemu library.
2011-08-03 18:16:37 -07:00
David Turner
8898d5da70
am 675845a4: am ecf74d6a: am 47706d40: Merge "GLES2 translator: workaround for nvidia bug with GL_VALIDATE_STAUS"
...
* commit '675845a4d26c8d718fa3c5a6b53b873c9ae01fc2':
GLES2 translator: workaround for nvidia bug with GL_VALIDATE_STAUS
2011-08-03 17:42:39 -07:00
David Turner
e70dc86f13
am fa00fd7e: am dedcb460: am 6707ea95: Merge "2.0 translator: workaround for nVidia "bug""
...
* commit 'fa00fd7e18dcc15543fd2f12fb2b67c98b84b79c':
2.0 translator: workaround for nVidia "bug"
2011-08-03 17:42:37 -07:00
David Turner
237eb01363
am 42f7afd1: am 90b89c58: am 1cd64c70: Merge "GLES2 translator: host does not support RGB565"
...
* commit '42f7afd1c7db902d57525f09b6f26701b13cde90':
GLES2 translator: host does not support RGB565
2011-08-03 17:42:34 -07:00
David Turner
bf2a74e70c
am 3e06a6c4: am 4045962c: am bcfc7b17: Merge "GLES translator - enable binding to multiple texture targets"
...
* commit '3e06a6c4dbafa0f2e2542a2b6175324f218ffa48':
GLES translator - enable binding to multiple texture targets
2011-08-03 17:42:31 -07:00
David Turner
05e78badcc
am 51fa07e1: am 659943e8: am 0c1ce6de: Merge "GLES2 translaotr: fix glLinkProgram and object names"
...
* commit '51fa07e1dad4c5407c739df71e3e4c8cf8c56e4b':
GLES2 translaotr: fix glLinkProgram and object names
2011-08-03 17:42:27 -07:00
Vladimir Chtchetkine
dc6e4e64de
am af0d8ed8: am 9a528ed9: Merge "Get rid of libqemu library."
...
* commit 'af0d8ed819cf5eaf9b77bde80c0ef87a9d690d5d':
Get rid of libqemu library.
2011-08-03 12:44:08 -07:00
Vladimir Chtchetkine
9a528ed984
Merge "Get rid of libqemu library."
2011-08-03 10:51:07 -07:00
Vladimir Chtchetkine
b2b6f2f9da
Get rid of libqemu library.
...
Its implementation has been inlined in hardware/libhardware/include/hardware/qemu_pipe.h
Change-Id: I355764f87047c915ac43b85cd18bf0f27f06ede3
2011-08-03 09:10:14 -07:00
David Turner
675845a4d2
am ecf74d6a: am 47706d40: Merge "GLES2 translator: workaround for nvidia bug with GL_VALIDATE_STAUS"
...
* commit 'ecf74d6a25a9b4b93c22f2702b703d5e41acc81c':
GLES2 translator: workaround for nvidia bug with GL_VALIDATE_STAUS
2011-08-03 06:53:57 -07:00
David Turner
fa00fd7e18
am dedcb460: am 6707ea95: Merge "2.0 translator: workaround for nVidia "bug""
...
* commit 'dedcb46019fae19d5f81f6924025e5ba54a1ec20':
2.0 translator: workaround for nVidia "bug"
2011-08-03 06:53:55 -07:00
David Turner
42f7afd1c7
am 90b89c58: am 1cd64c70: Merge "GLES2 translator: host does not support RGB565"
...
* commit '90b89c58a481b6eaef784181b03e213820e2824a':
GLES2 translator: host does not support RGB565
2011-08-03 06:53:52 -07:00
David Turner
3e06a6c4db
am 4045962c: am bcfc7b17: Merge "GLES translator - enable binding to multiple texture targets"
...
* commit '4045962cca6f7b9f5a5f55197b62ad2332f479a7':
GLES translator - enable binding to multiple texture targets
2011-08-03 06:53:50 -07:00
David Turner
51fa07e1da
am 659943e8: am 0c1ce6de: Merge "GLES2 translaotr: fix glLinkProgram and object names"
...
* commit '659943e8a6001d8008005f1cbae738025854cfcc':
GLES2 translaotr: fix glLinkProgram and object names
2011-08-03 06:53:47 -07:00
Liran
772468f2b6
GLES2 translator: workaround for nvidia bug with GL_VALIDATE_STAUS
...
nvidia may return GL_VALIDATE_STATUS = GL_TRUE even when the program does not link
this change checks for GL_LINK_STATUS when GL_VALIDATE_STATUS is queried
Change-Id: Ia9f5da9c71b8666ce929d8cc2a44639bc947eecb
2011-07-27 15:19:11 +03:00
Liran
715c4898df
2.0 translator: workaround for nVidia "bug"
...
This is not really a bug, but the nVidia shader compiler is much more
liberal than the GLSL spec, and allows compilation of shaders which
do not comply with the spec. This is an issue for passing the
conformance tests, but more importantly it will allow bad shader written
by the app developer to pass on the emulator and then to fail on the device.
Adding "#version 100" definition to the head of a shader source disables
this liberal behavior. For now this is activated in run time by the "NV_WAR"
environment variable.
Change-Id: I1c322d4221d313d3ee70592bc15ea0e340853990
2011-07-27 15:19:11 +03:00
Liran
dd954c869c
GLES2 translator: host does not support RGB565
...
When calling RenderbufferStorage with internalformat=GL_RGB565
we will create one with internal format GL_RGB
the same for glTexImage2D
Change-Id: I1e464dd36142f586beef6bf895456c7aab1b8237
2011-07-27 15:19:11 +03:00
Liran
31b99df283
GLES translator - enable binding to multiple texture targets
...
support different binding to GL_TEXTURE_2D and GL_TEXTURE_CUBE_MAP
targets
create 2 default texture object, to be bound when BindTexture( ... ,0)
is called.
in order to do this, we must ensure their names are internal only, so the user can't
use these names by accident.
the object name manager local name is now 64 bit to allow generation of internal names
Change-Id: I29d000a67042051706e13dc3ef3aa34a1a24f8ca
2011-07-27 15:19:10 +03:00
Liran
3c457bda2f
GLES2 translaotr: fix glLinkProgram and object names
...
Do not allow glLinkProgram to succeed if only one shader type has been
attached to the program, GL allows this, but GLES2 does not.
added state tracking for program objects to check which shaders are
attached to the program object.
add a way to define object data type being held for each object in objectNameManager
ProgramData and ShaderParser are both valid objectData for objects in SHADER namespace
we need a way to determine object type to generate correct errors
Change-Id: Ic232549df0bb6daf6ec528cb039482cd68e896bb
2011-07-27 15:19:04 +03:00
David Turner
f96c3a6ecf
am 9f542f16: am ecf66769: am 682f9143: am e6c1178e: Merge "use Translator\'s glTexImage2D in doCompressedTexImage2D"
...
* commit '9f542f16e6b4ca6682839ec545374ddfbcf748f8':
use Translator's glTexImage2D in doCompressedTexImage2D
2011-07-15 14:12:08 -07:00
David Turner
cbb00cd61d
am 3f2120a6: am d6d5ed98: am b3dbf9b0: am 02acec79: Merge "emulator:opengl: fix windows build"
...
* commit '3f2120a6fa2c491dd84b93b48e0f12e7709ef2f2':
emulator:opengl: fix windows build
2011-07-15 14:12:06 -07:00
David Turner
9f542f16e6
am ecf66769: am 682f9143: am e6c1178e: Merge "use Translator\'s glTexImage2D in doCompressedTexImage2D"
...
* commit 'ecf6676949865f7c8a381f4c2e08c3c898726573':
use Translator's glTexImage2D in doCompressedTexImage2D
2011-07-15 11:16:55 -07:00
David Turner
3f2120a6fa
am d6d5ed98: am b3dbf9b0: am 02acec79: Merge "emulator:opengl: fix windows build"
...
* commit 'd6d5ed989e75c7cc3bc9ad2a14304133394bb9f1':
emulator:opengl: fix windows build
2011-07-15 11:16:53 -07:00
Xavier Ducrohet
db5ac391d6
Merge "Add WSVGA skin to represent 7" tablets."
2011-07-14 16:28:39 -07:00
David Turner
e6c1178e02
Merge "use Translator's glTexImage2D in doCompressedTexImage2D"
2011-07-14 15:51:32 -07:00
David Turner
b75382ea35
emulator:opengl: fix windows build
...
This fixes the Windows build of the opengl emulation code.
The official is not broken because you still need to define
BUILD_EMULATOR_OPENGL=true in your environment to enable the
code to be built.
Change-Id: I527f305c8a09df2740a93736123935d480170ffb
2011-07-14 23:29:32 +02:00
David Turner
7a88cc163b
am 68635c83: am a0def8c5: am 7a18bbb8: am 9e5560f7: Merge "2.0 Translator:GL_INVALID_VALUE on bad program/shader"
...
* commit '68635c83c42926c353680ec4f66a7dc2293c39e8':
2.0 Translator:GL_INVALID_VALUE on bad program/shader
2011-07-14 10:56:30 -07:00
David Turner
a6dfa8e10e
am 7d024bfa: am 615c690d: am 1905302f: am c97bc443: Merge "Fix parameter parsing in renderer"
...
* commit '7d024bfa12b4ce37d7a80ac57b7736004ac4f0a1':
Fix parameter parsing in renderer
2011-07-14 10:56:28 -07:00
David Turner
0dc7321298
am cd043598: am a2f79a51: am 5e33e434: am b26d94c5: Merge "opengles Translator: DrawTex impl - don\'t draw if no textures enabled."
...
* commit 'cd04359820e6f1b054e4f0b4d4dec8c735076318':
opengles Translator: DrawTex impl - don't draw if no textures enabled.
2011-07-14 10:56:25 -07:00
David Turner
f9ca09bb33
am 1b62b1f4: am e4a7a79b: am c49de351: am 98030a4f: Merge "2.0 translator: support ARB_ES2_compatibility stuff"
...
* commit '1b62b1f463bfc76edb30e7026ef9779f9aaa61ae':
2.0 translator: support ARB_ES2_compatibility stuff
2011-07-14 10:56:23 -07:00
David Turner
72e8af0046
am 7f7ae08d: am b08fd409: am c9ad449f: am cea49c2f: Merge "translator EGL:fixing bug in eglGetDisplay caused in Windows Platform"
...
* commit '7f7ae08d19939f46f9487d381bb96d966609320e':
translator EGL:fixing bug in eglGetDisplay caused in Windows Platform
2011-07-14 10:56:21 -07:00
David Turner
91c6653030
am 46f62cdc: am e2b9bd38: am 67984d2d: am a99be30d: Merge "opengles Translator: get Compressed texture handling out from GLEScontext"
...
* commit '46f62cdca1397bd6957365e8c4c8f1c99b19c2cc':
opengles Translator: get Compressed texture handling out from GLEScontext
2011-07-14 10:56:18 -07:00
David Turner
acf3a2d08e
am 2a35102a: am 72e117b6: am b2de740a: am 7fdf635d: Merge "opengles emulator: support for null in data parameter of glCompressedTexImage2D"
...
* commit '2a35102a6e73a01675bde7ff24d91ce5ab38c1a0':
opengles emulator: support for null in data parameter of glCompressedTexImage2D
2011-07-14 10:56:15 -07:00
David Turner
4bc9daedf7
am 922d5aa9: am 1d01f3d2: am 01427d12: am c86fa4b8: Merge "opengles emulator: support NULL as parameter to glTexImage2D (gles1)"
...
* commit '922d5aa97cd7a5ba7cb164c34e1974330edfd5e7':
opengles emulator: support NULL as parameter to glTexImage2D (gles1)
2011-07-14 10:56:11 -07:00
David Turner
223bdd1766
am 288151c6: am 067426e0: am 0fecb41c: am 7be5b706: Merge "emulator:opengl: input event redirection"
...
* commit '288151c64eca5b357c0578eb0e9f9769d2cd9c6d':
emulator:opengl: input event redirection
2011-07-14 10:49:18 -07:00
David Turner
2e2e571cd6
am 86c57cf4: am dd70f991: am c1c47c08: am 6a9aa82f: Merge "emulator:opengl: custom framebuffer sizes"
...
* commit '86c57cf449958934400ad5794df9543f81760e21':
emulator:opengl: custom framebuffer sizes
2011-07-14 10:49:14 -07:00
Xavier Ducrohet
dc8ff0c787
Add WSVGA skin to represent 7" tablets.
...
Change-Id: I0b2865e2213839265f6acf8e9e324fa7018cf336
2011-07-14 10:42:59 -07:00
David Turner
68635c83c4
am a0def8c5: am 7a18bbb8: am 9e5560f7: Merge "2.0 Translator:GL_INVALID_VALUE on bad program/shader"
...
* commit 'a0def8c552f07c8db25a5c13b7a23278ad71d076':
2.0 Translator:GL_INVALID_VALUE on bad program/shader
2011-07-14 09:18:27 -07:00
David Turner
7d024bfa12
am 615c690d: am 1905302f: am c97bc443: Merge "Fix parameter parsing in renderer"
...
* commit '615c690d0f99eb10ca5c66c8fdd839a354063fb5':
Fix parameter parsing in renderer
2011-07-14 09:18:25 -07:00
David Turner
cd04359820
am a2f79a51: am 5e33e434: am b26d94c5: Merge "opengles Translator: DrawTex impl - don\'t draw if no textures enabled."
...
* commit 'a2f79a51564c5a299ec1727c2639e57c30d8ddfd':
opengles Translator: DrawTex impl - don't draw if no textures enabled.
2011-07-14 09:18:22 -07:00
David Turner
1b62b1f463
am e4a7a79b: am c49de351: am 98030a4f: Merge "2.0 translator: support ARB_ES2_compatibility stuff"
...
* commit 'e4a7a79bb6d66cec9189839057f448af14236f05':
2.0 translator: support ARB_ES2_compatibility stuff
2011-07-14 09:18:20 -07:00
David Turner
7f7ae08d19
am b08fd409: am c9ad449f: am cea49c2f: Merge "translator EGL:fixing bug in eglGetDisplay caused in Windows Platform"
...
* commit 'b08fd409f7a8b04c18733012b0d919bb1cf06d71':
translator EGL:fixing bug in eglGetDisplay caused in Windows Platform
2011-07-14 09:18:17 -07:00
David Turner
46f62cdca1
am e2b9bd38: am 67984d2d: am a99be30d: Merge "opengles Translator: get Compressed texture handling out from GLEScontext"
...
* commit 'e2b9bd38df22a4c364c9c34c7ba6308763a2de66':
opengles Translator: get Compressed texture handling out from GLEScontext
2011-07-14 09:18:13 -07:00
David Turner
2a35102a6e
am 72e117b6: am b2de740a: am 7fdf635d: Merge "opengles emulator: support for null in data parameter of glCompressedTexImage2D"
...
* commit '72e117b6022d79b90609c5cb13c7a462b167281d':
opengles emulator: support for null in data parameter of glCompressedTexImage2D
2011-07-14 09:18:10 -07:00
David Turner
922d5aa97c
am 1d01f3d2: am 01427d12: am c86fa4b8: Merge "opengles emulator: support NULL as parameter to glTexImage2D (gles1)"
...
* commit '1d01f3d2958cfc85abbeb5e835fcabb40125b461':
opengles emulator: support NULL as parameter to glTexImage2D (gles1)
2011-07-14 09:18:06 -07:00
Stas Gurtovoy
99ef052675
use Translator's glTexImage2D in doCompressedTexImage2D
...
Instead of calling the dispatcher directly. This will make sure all Translator's
internals (such as TextureData data) are updated properly.
This also fixes the bug in "Replica Island" - when the green robot was invisible,
because it's TextureData wasn't updated by doCompressedTexImage2D
The pointer to glTexImage2D is passed as a parameter to doCompressedTexImage2D,
otherwise Windows resolve the glTexImage2D symbol in the external libGL rather
than the translator's code. Longer term, we will remove the translator's link
to libGL, at which point this parameter will be removed.
2011-07-14 13:42:13 +03:00
Yochai Shefi Simchon
31bf4fac95
2.0 Translator:GL_INVALID_VALUE on bad program/shader
...
The getGlobalName function returns 0 on error. There are many places
were no error checking is done after calling it to get a shader or
program name. Typically this shouldn't be an issue, since the follwing
OpenGL call using a value of 0 will generated the required GL_INVALID_VALUE,
but this does not always happen.
Change-Id: I8edf2b152978ffd8626f8b4d778cc624f2a3bec3
2011-07-14 03:05:38 +02:00