summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Add constants for the GL_QUERY_COUNTER_BITS per target.Eric Anholt2012-08-262-1/+44
| | | | | | | | | | | | Drivers need to be able to communicate their actual number of bits populated in the field in order for applications to be able to properly handle rollover. There's a small behavior change here: Instead of reporting the GL_SAMPLES_PASSED bits for GL_ANY_SAMPLES_PASSED (which would also be valid), just return 1, because more bits don't make any sense. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Use a new, more specific hook for shader uniform changes.Kenneth Graunke2012-08-253-2/+11
| | | | | | | | | | | | | | | Gallium drivers and i965 don't require special notification when sampler uniforms change. They simply see the _NEW_TEXTURE and adjust their indirection tables. These drivers don't want ProgramStringNotify: it simply causes pointless recompiles. Unfortunately, i915 still requires shader recompiles and needs ProgramStringNotify. Rather than trying to fix that, simply change the hook to a new, more specific one: ShaderUniformChange. On i915, this translates to ProgramStringNotify; others simply ignore it. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa/es: Validate glGetBufferParameteriv pname in Mesa code rather than the ↵Ian Romanick2012-08-242-10/+6
| | | | | | | | | ES wrapper v2: Add proper core-profile and GLES3 filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa/es: Validate glMapBuffer access in Mesa code rather than the ES wrapperIan Romanick2012-08-242-4/+9
| | | | | | | | | | | v2: Add proper core-profile and GLES3 filtering. v3: *Really* add proper core-profile and GLES3 filtering based on review feedback from Eric Anholt. It looks like previously there was some rebase / merge fail. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa/es: Validate glBufferData usage in Mesa code rather than the ES wrapperIan Romanick2012-08-242-11/+18
| | | | | | | | | v2: Add proper core-profile and GLES3 filtering based on review feedback from Eric Anholt. It looks like previously there was some rebase / merge fail. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa/es: Validate buffer object targets in Mesa code rather than the ES wrapperIan Romanick2012-08-242-36/+8
| | | | | | | v2: Add proper core-profile and GLES3 filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa/es: Validate VertexPointer types in Mesa code rather than the ES wrapperIan Romanick2012-08-242-15/+6
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Remove redundant vertex pointer size validationIan Romanick2012-08-241-6/+0
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Validate TexCoordPointer size in Mesa code rather than the ES wrapperIan Romanick2012-08-242-7/+2
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Validate TexCoordPointer types in Mesa code rather than the ES wrapperIan Romanick2012-08-242-16/+6
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Validate NormalPointer types in Mesa code rather than the ES wrapperIan Romanick2012-08-242-13/+6
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Validate ColorPointer size in Mesa code rather than the ES wrapperIan Romanick2012-08-242-5/+2
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Validate ColorPointer types in Mesa code rather than the ES wrapperIan Romanick2012-08-242-14/+8
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Remove redundant vertex attrib pointer type validationIan Romanick2012-08-241-22/+0
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Remove redundant vertex attrib pointer size validationIan Romanick2012-08-241-7/+0
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Disallow BGRA vertex arrays in ES or ES2 contextsIan Romanick2012-08-241-0/+5
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Rearrange array type checking, filter more types in ESIan Romanick2012-08-241-9/+25
| | | | | | | | | v2: Fix handling of GL_INT and GL_UNSIGNED_INT types pre-ES3.0, and fix handling of GL_INT_2_10_10_10_REV and GL_UNSIGNED_INT_2_10_10_10_REV in ES3.0. Based on review comments by Ken Graunke. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Refactor element type checking into its own functionIan Romanick2012-08-241-23/+25
| | | | | | | | | | | | This consolidates the tests and makes the emitted error message consistent. v2: Rename _mesa_valid_element_type to valid_elements_type. Log the enum string instead of the hex value in error messages. Based on review comments from Brian Paul and Ken Graunke. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: add generic compressed -> uncompressed format helperBrian Paul2012-08-242-0/+42
| | | | | | | _mesa_generic_compressed_format_to_uncompressed_format() probably wins the prize for longest function name in Mesa. Reviewed-by: Anuj Phogat <[email protected]>
* mesa: don't try (generic) compression of 1D and 1D_ARRAY texturesBrian Paul2012-08-241-12/+26
| | | | | | | | | | See comments in the code for details. Note: we only need to special-case the generic compressed formats since specific texture formats are error-checked earlier to see if the compression format is compatible with the texture type. Reviewed-by: Anuj Phogat <[email protected]>
* mesa: add texture target field to ChooseTextureFormat() driver hookBrian Paul2012-08-245-11/+16
| | | | | | | | | This will let us choose the actual hardware format depending on the type of texture. v2: fixup radeon, nouveau, intel and swrast drivers too Reviewed-by: Eric Anholt <[email protected]>
* Move _mesa_dl* functions into dlopen.h and inline themMatt Turner2012-08-242-120/+75
| | | | | | No point in having an extra function call for inlinable functions. Reviewed-by: Tapani Pälli <[email protected]>
* mesa/dlopen: use HAVE_DLOPEN instead of _GNU_SOURCETapani Pälli2012-08-241-4/+4
| | | | | | | | | | | | | Patches changes mesa to use 'HAVE_DLOPEN' defined by configure and Android.mk instead of _GNU_SOURCE for detecting dlopen capability. This makes dlopen to work also on Android where _GNU_SOURCE is not defined. [mattst88] v2: HAVE_DLOPEN is sufficient for including dlfcn.h, remove mingw/blrts checks around dlfcn.h inclusion. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Matt Turner <[email protected]> Signed-off-by: Tapani Pälli <[email protected]>
* mesa/es: Validate glCreateShader targets in Mesa code rather than the ES wrapperIan Romanick2012-08-242-6/+1
| | | | | | | v2: Add proper core-profile filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa/es: Validate glGetProgramiv pnames in Mesa code rather than the ES wrapperIan Romanick2012-08-242-23/+31
| | | | | | | v2: Add proper core-profile and GLES3 filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Filter glGetProgramiv pnames based on available extensionsIan Romanick2012-08-241-30/+37
| | | | | | | | | | | | | | | | | | | | | Previously you could always glGetProgramiv one of the transform feedback or geometry shader enums even if the extension wasn't supported. In addtion, this reverts part of bda6ad27. I think the hunks involving GL_PROGRAM_BINARY_LENGTH_OES were spurious. Mesa has no support for any other part of GL_OES_get_program_binary. v2: Remove redundant return in get_programiv based on review feedback from Matt Turner. v3: Correctly handle UBO related enums. v4: Emit the bad enum in the _mesa_error call based on review feedback from Brian Paul. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* main: fix ES compile breakageBrian Paul2012-08-241-1/+1
|
* mesa/swrast: fix GL_TEXTURE_2D_ARRAY texture fetches for dxt formatsBrian Paul2012-08-243-48/+52
| | | | | | | As with the previous commit. This fixes the last crash in the piglit copyteximage test but there's still some failures.
* mesa/swrast: fix GL_TEXTURE_2D_ARRAY texture fetches for latc/rgtc formatsBrian Paul2012-08-243-64/+84
| | | | | | | Fix-up the texel fetch functions so that they handle 3D coords (as used for array textures) and remove the "f_2d" part from their names. Helps fix swrast crashes in piglit's copyteximage test. More to come.
* mesa: code movement in teximage.cBrian Paul2012-08-241-204/+198
| | | | To get rid of a forward declaration.
* mesa: consolidate glTexImage and glCompressedTexImage codeBrian Paul2012-08-241-203/+138
| | | | | | There was a lot of similar or duplicated code before. To minimize this patch's size, use a forward declaration for compressed_texture_error_check(). Move the function in the next patch.
* mesa: make glTexImage, glCompressedTexImage proxy code more alikeBrian Paul2012-08-241-35/+42
| | | | Next up, we can combine the teximage() and compressed_teximage() functions.
* mesa: rename texpal.[ch] to texcompress_cpal.[ch]Brian Paul2012-08-243-9/+24
| | | | To be consistent with other files related to texture compression.
* mesa: s/GLuint/gl_format/ in _mesa_compressed_format_to_glenum()Brian Paul2012-08-242-2/+2
| | | | No real change here, just use the right type.
* mesa: new _mesa_num_tex_faces() helperBrian Paul2012-08-244-5/+18
| | | | | Not a real big help now, but will be useful for the GL_ARB_texture_cube_map_array extension in the future.
* mesa: make _mesa_get_proxy_tex_image() staticBrian Paul2012-08-242-9/+8
| | | | It's not used by any other file.
* mesa: don't clear proxy image fields when regular GL error is generatedBrian Paul2012-08-241-11/+33
| | | | | | | | If a proxy texture call generates a regular GL error, we should not clear the proxy image's width/height/depth/format fields. Use a new PROXY_ERROR token to distinguish proxy errors from regular GL errors. Reviewed-by: Anuj Phogat <[email protected]>
* mesa: fix glTexImage proxy texture error generationBrian Paul2012-08-241-52/+43
| | | | | | | | | | | | When calling glTexImage() with a proxy target most error conditions should generate a GL error. We were erroneously doing the proxy-error behaviour (where we zeroed-out the image's width/height/depth/format fields) in too many places. There's another issue with proxy textures, but that'll be fixed in the next patch. Reviewed-by: Anuj Phogat <[email protected]>
* mesa/es: Validate glCompressedTexSubImage internalFormat in Mesa code rather ↵Ian Romanick2012-08-232-5/+10
| | | | | | | | than the ES wrapper Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glCompressedTexImage internalFormat in Mesa code rather ↵Ian Romanick2012-08-232-26/+16
| | | | | | | | | | than the ES wrapper v2: Add proper core-profile filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glCopyTexImage internalFormat in Mesa code rather than the ↵Ian Romanick2012-08-232-8/+18
| | | | | | | | | | ES wrapper v2: Add GLES3 filtering. I'm not 100% sure this is correct. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glTexSubImage format and type in Mesa code rather than the ↵Ian Romanick2012-08-232-133/+17
| | | | | | | | | | ES wrapper v2: Add proper GLES3 filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glTexImage format, type, and internalFormat in Mesa code ↵Ian Romanick2012-08-233-203/+98
| | | | | | | | | | | | | rather than the ES wrapper v2: Add proper GLES3 filtering. v3: Collapse ALPHA, LUMINANCE, and LUMINANCE_ALPHA cases per review comment from Ken. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glTexImage border in Mesa code rather than the ES wrapperIan Romanick2012-08-232-10/+4
| | | | | | | | | | | Also validate glCopyTexImage border. This fixes a bug in the APIspec. Previously glTexImage3DOES could be passed a non-zero border without error. NOTE: This is a candidate for stable release branches. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa: Generate an error when glCopyTexImage border is invalidIan Romanick2012-08-231-0/+2
| | | | | | | | NOTE: This is a candidate for stable release branches. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Add support for GL_APPLE_texture_max_levelIan Romanick2012-08-231-0/+1
| | | | | | | | This is desktop OpenGL functionality that has always existed. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glGetTexParameter pnames in Mesa code rather than the ES ↵Ian Romanick2012-08-232-29/+84
| | | | | | | | | | | | | | | wrapper This also adds a missing extension (and API) check around GL_TEXTURE_CROP_RECT_OES. v2: Add proper core-profile and GLES3 filtering. GL_TEXTURE_MAX_LEVEL is (incorrectly) accepted in ES contexts. A future patch will add GL_APPLE_texture_max_level, and meta really needs this. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Validate glTexParameter pnames in Mesa code rather than the ES wrapperIan Romanick2012-08-233-75/+54
| | | | | | | | | | | | | This also adds a missing extension (and API) check around GL_TEXTURE_CROP_RECT_OES. v2: Add proper core-profile, GLES1, and GLES3 filtering. GL_TEXTURE_MAX_LEVEL is (incorrectly) accepted in ES contexts. A future patch will add GL_APPLE_texture_max_level, and meta really needs this. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa/es: Remove redundant glBindTexture target validationIan Romanick2012-08-231-8/+0
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* mesa: Filter glBindTexture targets based on supported features.Ian Romanick2012-08-231-9/+21
| | | | | | | | | | | | Fixed the piglit test arb_texture_buffer_object-negative-unsupported. NOTE: This is a candidate for stable release branches. v2: Add proper core-profile and GLES3 filtering. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>