Commit Graph

472 Commits

Author SHA1 Message Date
David Turner
4fe8324f19 am e28cee4d: am 24de4dee: am 2dc55605: Merge "opengl translator: fixing 2 Windows EGL issues:"
* commit 'e28cee4db88a75aa7627caef0658ca95a13dff8d':
  opengl translator: fixing 2 Windows EGL issues:
2011-07-06 07:51:00 -07:00
David Turner
088596810b am d23b43e4: am 07c26fbf: am 2a223529: Merge "1.1 Translator: fix conversion of compressed textures"
* commit 'd23b43e4634138e3237e546b0b9db68b72cd9418':
  1.1 Translator: fix conversion of compressed textures
2011-07-06 07:50:54 -07:00
David Turner
af60a5cf28 am 2d301233: am 78d910ac: am 76580a43: Merge "1.1 Translator: fix drawing of GL_POINT_SIZE_ARRAY"
* commit '2d301233f3b5ff331752f7f50179c9737e0f4a55':
  1.1 Translator: fix drawing of GL_POINT_SIZE_ARRAY
2011-07-06 07:50:48 -07:00
David Turner
9b7530b7c8 am 11cf6296: am 435437b2: am 4ca8cd85: Merge "1.1 Translator: fix bug in glDeleteTexture"
* commit '11cf6296136ee03636f96371bf831a91aa42a123':
  1.1 Translator: fix bug in glDeleteTexture
2011-07-06 07:50:41 -07:00
David Turner
539750540b am 784d3097: am 917d38b6: am 450b32be: Merge "1.1 Translaotr: handle glGet(POINT_SIZE_ARRAY)"
* commit '784d309772015bd88e266ff302a19d20c9c31267':
  1.1 Translaotr: handle glGet(POINT_SIZE_ARRAY)
2011-07-06 07:50:34 -07:00
David Turner
8ffd763b94 am 24c4c34b: am 033e0b04: am 1fb2e928: Merge "1.1 Translator conformance: fix texture issues"
* commit '24c4c34b9b26fbe95b9b80d63e599c9c0f4f0d71':
  1.1 Translator conformance: fix texture issues
2011-07-06 07:50:27 -07:00
David Turner
405c84b881 am 80304210: am e7a629c9: am a48c6f24: Merge "opengl translator: fixed glGetString(GL_EXTENSIONS) for GLESv2"
* commit '80304210f415f430e70d58ad18b906fff833ac15':
  opengl translator: fixed glGetString(GL_EXTENSIONS) for GLESv2
2011-07-06 07:50:19 -07:00
David Turner
2b1641c8fc am 7b6c21cb: am cd3a69d1: am e5dfc068: Merge "Translator 1.1 conformance: fix ARRAY related gets"
* commit '7b6c21cb10be4f6a96889d090248d1e8c494612e':
  Translator 1.1 conformance: fix ARRAY related gets
2011-07-06 07:50:11 -07:00
David Turner
abecd10a8c am 641f40cf: am a18571b0: am 24af5e0a: Merge "Translator: fix eglGetProcAddress() on Linux"
* commit '641f40cfc7f1e03e6ea19a9f473b51d786cd9f52':
  Translator: fix eglGetProcAddress() on Linux
2011-07-06 07:50:03 -07:00
David Turner
d0af0c712b am 9f3ea16a: am 525b5d50: am b2cbc353: Merge "Translator 1.1 - fix glGetPointer"
* commit '9f3ea16aef475180a99ba825ffc340f3daaef7cd':
  Translator 1.1 - fix glGetPointer
2011-07-06 07:49:55 -07:00
David Turner
bcf6bf331e am ab88b948: am 4ab20cdf: am 64d0e9d5: Merge "Fix segfault when destroying context"
* commit 'ab88b948527c8f5eb0368e6481155e21baf0add1':
  Fix segfault when destroying context
2011-07-06 07:49:47 -07:00
David Turner
221622c4be am 6484fe1c: am 5062fd0d: am 3209e85a: Merge "glDrawTex- GL_INVALID_VALUE if width/height <= 0"
* commit '6484fe1c35fb8e7e16ef7ea670b9ea1f8c778e62':
  glDrawTex- GL_INVALID_VALUE if width/height <= 0
2011-07-06 07:49:38 -07:00
David Turner
9d6527979a am 727031e7: am ef4edab5: am 0e5889df: Merge "opengl translator: extending ConversionArrays class"
* commit '727031e7828bcd9138d3ca223e39f0c56dc7a7c2':
  opengl translator: extending ConversionArrays class
2011-07-06 07:49:29 -07:00
David Turner
4e44b7ca0b am c98872ce: am d1018f5d: am 0e475161: Merge "opengl translator: add vertex attrib index validation."
* commit 'c98872ce590f3815479cb1e3522402afd60656f2':
  opengl translator: add vertex attrib index validation.
2011-07-06 07:49:20 -07:00
David Turner
9642612ea5 am dd3be656: am 9573e370: am 8d2dc2a4: Merge "opengl translator: conformance fixes"
* commit 'dd3be656a613b9d5ba195e59e209c31639fefa28':
  opengl translator: conformance fixes
2011-07-06 07:49:11 -07:00
David Turner
96f013bbd7 am 284b80b6: am 28ea64ef: am 617c7a18: Merge "validateing client\'s arrays type"
* commit '284b80b607d9d575abc351817e5731ab02411976':
  validateing client's arrays type
2011-07-06 07:49:01 -07:00
David Turner
63b655dfeb am 29dd6572: am fe6ef5a1: am b4cbe3de: Merge "opengl translator: supporting GL_BYTE type"
* commit '29dd65725b5d591d761f832031fa18c324675431':
  opengl translator: supporting GL_BYTE type
2011-07-06 07:48:51 -07:00
David Turner
e28cee4db8 am 24de4dee: am 2dc55605: Merge "opengl translator: fixing 2 Windows EGL issues:"
* commit '24de4dee2cdf8791f792693ba9b8b294c34ac815':
  opengl translator: fixing 2 Windows EGL issues:
2011-07-06 07:45:09 -07:00
David Turner
d23b43e463 am 07c26fbf: am 2a223529: Merge "1.1 Translator: fix conversion of compressed textures"
* commit '07c26fbfa7f70ec37418352a48530cfeaf576d16':
  1.1 Translator: fix conversion of compressed textures
2011-07-06 07:44:58 -07:00
David Turner
2d301233f3 am 78d910ac: am 76580a43: Merge "1.1 Translator: fix drawing of GL_POINT_SIZE_ARRAY"
* commit '78d910ac22d2f2f226936a7b589fc7708a54bb48':
  1.1 Translator: fix drawing of GL_POINT_SIZE_ARRAY
2011-07-06 07:44:51 -07:00
David Turner
11cf629613 am 435437b2: am 4ca8cd85: Merge "1.1 Translator: fix bug in glDeleteTexture"
* commit '435437b223b5b1c307ee0b283685c07cd796031f':
  1.1 Translator: fix bug in glDeleteTexture
2011-07-06 07:44:44 -07:00
David Turner
784d309772 am 917d38b6: am 450b32be: Merge "1.1 Translaotr: handle glGet(POINT_SIZE_ARRAY)"
* commit '917d38b63ee867874b2da4629fd5fcb336daf0d4':
  1.1 Translaotr: handle glGet(POINT_SIZE_ARRAY)
2011-07-06 07:44:37 -07:00
David Turner
24c4c34b9b am 033e0b04: am 1fb2e928: Merge "1.1 Translator conformance: fix texture issues"
* commit '033e0b04c8ada4cb485b7e336f8fe5ad2202a71a':
  1.1 Translator conformance: fix texture issues
2011-07-06 07:44:30 -07:00
David Turner
80304210f4 am e7a629c9: am a48c6f24: Merge "opengl translator: fixed glGetString(GL_EXTENSIONS) for GLESv2"
* commit 'e7a629c9fc55ddb085d213a34b8925d1b2b82205':
  opengl translator: fixed glGetString(GL_EXTENSIONS) for GLESv2
2011-07-06 07:44:22 -07:00
David Turner
7b6c21cb10 am cd3a69d1: am e5dfc068: Merge "Translator 1.1 conformance: fix ARRAY related gets"
* commit 'cd3a69d183434b3b0dfcef99ecc1a741d28a2cea':
  Translator 1.1 conformance: fix ARRAY related gets
2011-07-06 07:44:14 -07:00
David Turner
641f40cfc7 am a18571b0: am 24af5e0a: Merge "Translator: fix eglGetProcAddress() on Linux"
* commit 'a18571b08d001401ab3e5ffbbca5f6c992919867':
  Translator: fix eglGetProcAddress() on Linux
2011-07-06 07:44:06 -07:00
David Turner
9f3ea16aef am 525b5d50: am b2cbc353: Merge "Translator 1.1 - fix glGetPointer"
* commit '525b5d50f25efdbb894e6a2c9faa6da72834e501':
  Translator 1.1 - fix glGetPointer
2011-07-06 07:43:58 -07:00
David Turner
ab88b94852 am 4ab20cdf: am 64d0e9d5: Merge "Fix segfault when destroying context"
* commit '4ab20cdff7afc2c019f861593eb955ceaedab10e':
  Fix segfault when destroying context
2011-07-06 07:43:50 -07:00
David Turner
6484fe1c35 am 5062fd0d: am 3209e85a: Merge "glDrawTex- GL_INVALID_VALUE if width/height <= 0"
* commit '5062fd0dea78eaac56fcccaccb4882b4708b6350':
  glDrawTex- GL_INVALID_VALUE if width/height <= 0
2011-07-06 07:43:41 -07:00
David Turner
727031e782 am ef4edab5: am 0e5889df: Merge "opengl translator: extending ConversionArrays class"
* commit 'ef4edab5c53249ea8fc672964f01c30957da357a':
  opengl translator: extending ConversionArrays class
2011-07-06 07:43:27 -07:00
David Turner
c98872ce59 am d1018f5d: am 0e475161: Merge "opengl translator: add vertex attrib index validation."
* commit 'd1018f5df87a12c00c0bf35a28ce676c4b5efeca':
  opengl translator: add vertex attrib index validation.
2011-07-06 07:43:18 -07:00
David Turner
dd3be656a6 am 9573e370: am 8d2dc2a4: Merge "opengl translator: conformance fixes"
* commit '9573e370c1399159f6249fc307180c842578d5b1':
  opengl translator: conformance fixes
2011-07-06 07:43:09 -07:00
David Turner
284b80b607 am 28ea64ef: am 617c7a18: Merge "validateing client\'s arrays type"
* commit '28ea64ef29a6a0359e346fd01189d1d646a0d2fe':
  validateing client's arrays type
2011-07-06 07:42:59 -07:00
David Turner
29dd65725b am fe6ef5a1: am b4cbe3de: Merge "opengl translator: supporting GL_BYTE type"
* commit 'fe6ef5a10e1bf0d003e529a870f2973b38cb7dc9':
  opengl translator: supporting GL_BYTE type
2011-07-06 07:42:49 -07:00
Amit Feller
6adfa495ba opengl translator: fixing 2 Windows EGL issues:
- runtime segfaults
- pbuffer creation
2011-07-03 15:14:58 +03:00
Yochai Shefi Simchon
03d0055dc9 1.1 Translator: fix conversion of compressed textures
There were several bugs in the code converting palleted textures into
RGB/RGBA - fixed.
2011-07-03 15:08:42 +03:00
Yochai Shefi Simchon
747b20cf9d 1.1 Translator: fix drawing of GL_POINT_SIZE_ARRAY
When translating point size arrays from GLES to GL, an optimization
was implemented where all points of the same size in an array or elements
array where drawn together. This is wrong, since it means points
are not drawn in the order the app has requested, creating the wrong
result when points in the array are overlapping in screen space.
So removed this mechanism, and now just drawing the points in the right
order.
Some optimization is still there, where if there are several
consecutive points of the same size they are drawn together.

The change in GLEScmImp.cpp is only to make the condition more readable -
the functionality is identical.
2011-07-03 15:03:25 +03:00
Yochai Shefi Simchon
0b5684abbd 1.1 Translator: fix bug in glDeleteTexture
When glDeleteTexture is called for the currently bound texture,
binding should be reset to 0.
Also, calling glDeleteTexture on 0 should do nothing.
2011-07-03 15:03:25 +03:00
Yochai Shefi Simchon
fbae5aacb0 1.1 Translaotr: handle glGet(POINT_SIZE_ARRAY)
Should be handled internaly, like all other ARRAY queries.
2011-07-03 15:03:25 +03:00
Yochai Shefi Simchon
2da542b598 1.1 Translator conformance: fix texture issues
This fixes three issues:

1. glGet(GL_2d_TEXTURE_BINDING) should be handled by the translator rather
than by OpenGL.

2. glIsTexture shoud return GL_TRUE only if the texture was bound at some
point - add a wasBound member to the TextureData and maintain it.

3. glTexParameter(GL_GENERATE_MIPMAP) did not work. The first problem was
that it was not allowed by our validator - fixed. The next issue is that
this enum is not necessarily supported by the OpenGL implementation - it
is in OpenGL 2.x, but was replaced by an extension in 3.x. So in case the
extension does not exist, and GL_GENERATE_MIPMAP is required, save this info
in a new requiresAutoMipmap member of TextureData and call glGenerateMipmapExt
whenever glTex(Sub)Image2D is called.
There is a theoretical case where neither GL_GENERATE_MIPMAP nor glGenerateMipmap
is supported by the OpenGL implementation - this is not likely to happen, but
if we find such an implementation it might require implementing a mipmap
generation software algorithm (which is bad).
2011-07-03 14:56:13 +03:00
Stas Gurtovoy
635e929c44 opengl translator: fixed glGetString(GL_EXTENSIONS) for GLESv2
fixed query of GL_EXTENSIONS in glesv2.
Also fixed EGL surface desruction when there is
no current context.
2011-07-03 14:56:13 +03:00
Yochai Shefi Simchon
d18e93ba4c Translator 1.1 conformance: fix ARRAY related gets
There is a set of glGets which query the client state of the
binded arrays. The data exists in the translator context and is not
passed to GL, so the glGets should be handled internaly.
This is done by implementing four glGet*v methods in GLEScontext, which
return a boolean value indicating whether we have set the return value
or not, and are called by the glGet*v functions in GLEScmImp.
Two of the glGets are handled by GLEScontext, and the other 15 by
GLEScmContext since they are specific to GLES 1.1. The same should be
done for 2.0 specific glGets in a later patch.
Also. bufferName is now saved in GLESPointer in to allow the
GL_*_ARRAY_BUFFER_BINDING get.
2011-07-03 14:56:13 +03:00
Yochai Shefi Simchon
b241f904f0 Translator: fix eglGetProcAddress() on Linux
Our implementation of eglGetProcAddress() resolves the function addresses
in run time. Typically this is not an issue, but when a gl function is
also implemented by the calling app the address was resolved to the calling
app's version of the function rather than ours. This is the case with the
glDrawTex{isfx}OES functions in the 1.1 conformance test.
The solution is to add the -Bsymbolic switch when linking our libraries,
so all symbol resolution is done internaly.
The same fix should probably be done for Mac.
2011-07-03 14:56:12 +03:00
Yochai Shefi Simchon
83132ab0a2 Translator 1.1 - fix glGetPointer
getPointer is implemented both in GLEScmContext and its parent GLEScontext,
but was not declared virtual amd hence didn't work.
2011-07-03 14:52:28 +03:00
Yochai Shefi Simchon
6a40d94db4 Fix segfault when destroying context
m_texCoords was not initialized in the GLEScontext constructor, so when
destructing it resulted in an illegal free.
2011-07-03 14:47:12 +03:00
Yochai Shefi Simchon
03da50800f glDrawTex- GL_INVALID_VALUE if width/height <= 0 2011-07-03 14:47:12 +03:00
Amit Feller
772de2edde opengl translator: extending ConversionArrays class
inserting some of the logic which was scattered over some parts
of the GLESContext class to be encpsulated inside the ConversionArrays
so that the code will be more clea and organized.
2011-07-03 14:47:12 +03:00
Liran
166f3cb3c6 opengl translator: add vertex attrib index validation.
Fixed conformance test issue.
2011-07-03 14:32:43 +03:00
Liran
3c15de2f2e opengl translator: conformance fixes
fix shader and program names in glDeleteShader/Program
fix object name manager to accept objects with name 0
fix unbinding of buffers,framebuffers and renderbuffers
separate getPointer to have specific implementation for gles 1 and 2
fix number of supported texture images to match GL
fix incorrect optimization that skips draw on false conditions
2011-07-03 14:32:43 +03:00
Amit Feller
61d845731a validateing client's arrays type 2011-07-03 14:32:43 +03:00