Commit Graph

2482 Commits

Author SHA1 Message Date
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
Romain Guy
2d7bd93c82 This tool is no longer required
Change-Id: I4738464d5eaa1c8a8f0619c1405efc726fd1a30a
2011-07-21 18:05:24 -07:00
Romain Guy
a1cb462b69 Merge "Convert looper traces to traceview traces" 2011-07-20 18:47:56 -07:00
Romain Guy
3cb68797bc Convert looper traces to traceview traces
Change-Id: I378bab7d076ab43699d08809e58eb5a478488c74
2011-07-20 18:46:31 -07:00
Marco Nelissen
7d421c5b02 Update findunusedresources to know about integers and mipmaps
Change-Id: I10846ae4f876a325ce53e2c1522af2094493beba
2011-07-20 14:48:43 -07:00
Alex Sakhartchouk
22309b8f9d Merge "fix the function pointer table" 2011-07-18 13:43:28 -07: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
Romain Guy
845bd9e1cb Merge "Add simple tool to process and display looper traces." 2011-07-15 13:57:22 -07:00
Romain Guy
269adda773 Add simple tool to process and display looper traces.
Change-Id: I67a96fbe6b9688ac9f56dc81d3c45730829507a6
2011-07-15 13:56:48 -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
Alex Sakhartchouk
2dfe0aacb5 fix the function pointer table
Change-Id: I8d26439a5ca5c53cf8e1cfffeb5ec929c725f611
2011-07-14 17:05:56 -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
Stas Gurtovoy
76007c3b0e Fix parameter parsing in renderer
Change-Id: I14533cea4a29eff2b3dec3a68e80fc1ae7f44da3
2011-07-14 03:05:38 +02:00
Stas Gurtovoy
0dad64d939 opengles Translator: DrawTex impl - don't draw if no textures enabled.
This fixes a crash caused by covgl (on Nvidia linux driver) when our implementation
of glDrawTexOES calls glDrawArrays with GL_TEXTURE_COORD_ARRAY enabled - but none of texture
units are enabled and no data passed by glTexCoordPointer

Change-Id: Id28b0c35a5a17b139ab196db0e434d2f0a490132
2011-07-14 03:05:38 +02:00
Yochai Shefi Simchon
79b1bad09a 2.0 translator: support ARB_ES2_compatibility stuff
The ARB_ES2_compatibility extension supports several GLES 2.0 enums
and functions on OpenGL 2.0. Seems it exists on nVidia drivers, but
not on ATI's. So implement its functionality in case it doesn't
exist on the host.

Change-Id: Id96f0c8036a7a7d36fca0c85ab5f57bf4b1583aa
2011-07-14 03:05:38 +02:00
Amit Feller
1d8465c245 translator EGL:fixing bug in eglGetDisplay caused in Windows Platform
in Windows platform we previously defined EGLNativeDisplaytype to be WinDisplay*
( this was defined in include/EGL/eglplatform.h) this was OK as long as we used the
the EGL_DEFAULT_DISPLAY as parameter for eglGetDisplay meaning we were generating
a native display by oureselv and wrapping it, but there was aproblem when we got the
EGLNativeDisplayType from the user (as HDC in Windows) but interpret it as WinDisplay*
this caused a big memory corupption.
so to overcome this problem we now define two types EGLNativeDisplayType to be
HDC and EGLNativeInternalDisplayTypeto be WinDisplay*, and when we get in eglGetDisplay
a parameter different from EGL_DEFAULT_DISPLAY we wrap it with the struct of WinDisplay
and return it to the user.

this change caused a change in all the declerations of EglOsApi.h changing
EGLNativeDisplayType -> EGLNativeInternalDisplayType

Change-Id: I3522c3d507b084c5c211e10ddb6f512d1b90c65e
2011-07-14 03:05:38 +02:00
Stas Gurtovoy
1d9dc99abb opengles Translator: get Compressed texture handling out from GLEScontext
This commit does few things:
1. Gets doCompressedTexImage2D out of the context and TextureUtils
2. Gets palette textures out of TextureUtils and into PaletteTexture
3. Makes TextureUtils generic for all compressed textures
4. Moves the glGet's dealing with compressed textures from GLEScontext to the impl.

Change-Id: Ibbde6968810a66a4f3488f3887ee3f015fc32c11
2011-07-14 03:05:38 +02:00
Ying Wang
5280e81708 Merge "Remove simulator conditionals." 2011-07-13 16:30:52 -07:00
David Turner
70d01b635a am 5fd128dc: am 85743bc8: am 37ac3401: am 2319e183: Merge "egl emulator: fixes for covegl conformance test"
* commit '5fd128dcbd645f6f77f55d518569c74c0febaf3f':
  egl emulator: fixes for covegl conformance test
2011-07-13 14:55:11 -07:00
David Turner
7eb98b846a am 40c3e893: am 37ba60c4: am 4b8bf442: am f4b1fa4c: Merge "GLESv2 Translator: fix glGet*"
* commit '40c3e89363048b6fe5672e0f32c67210dab47f90':
  GLESv2 Translator: fix glGet*
2011-07-13 14:55:00 -07:00
David Turner
640a66ee2f am 9e261942: am 735b35fb: am 14fa0201: am c559f761: Merge "GLES2 translator: fix glUseProgram error"
* commit '9e261942aa9dd9b653a09bb4bc0e66979664ce35':
  GLES2 translator: fix glUseProgram error
2011-07-13 14:54:41 -07:00
David Turner
b52220aeef am ec430289: am b7b2af83: am 49947927: am ad31d5ca: Merge "GLES2 Translator: GetVertexAttrib* fix"
* commit 'ec430289b4ea4a5d93a3bffc450744b7b0988bbc':
  GLES2 Translator: GetVertexAttrib* fix
2011-07-13 14:54:38 -07:00