summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* 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-2413-18/+29
| | | | | | | | | 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]>
* xlib: remove texture compression hackeryBrian Paul2012-08-243-29/+0
| | | | | | I think this was left-over debug code from long ago. Reviewed-by: Ian Romanick <[email protected]>
* st/mesa: clean up use of 'target' variable in st_context_teximage()Brian Paul2012-08-241-3/+3
| | | | | | | | 'target' was used both as a parameter of type st_texture_type and then re-used for GL_TEXTURE_x targets. Rename the function parameter and add a new local 'GLenum target'. And remove an extraneous break statement.
* Move _mesa_dl* functions into dlopen.h and inline themMatt Turner2012-08-244-122/+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]>
* build: Only add links to .so files if we're building themMatt Turner2012-08-242-0/+4
| | | | | | Xlib-GLX and OSMesa support static building. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=53962
* build: Add libOSMesa.so.$(VERSION) link to libdirMatt Turner2012-08-241-0/+1
|
* build: Replace OSMESA_VERSION with generic VERSION_NUMBERMatt Turner2012-08-241-1/+1
| | | | Can be used by other modules.
* build: Only build libmesa.la when neededMatt Turner2012-08-241-4/+8
| | | | Namely, for Xlib-GLX, OSMesa, or test programs.
* build: Remove duplicate DRI automake conditionalsMatt Turner2012-08-241-1/+1
|
* i965: don't clear resolve map when doing fast depth clears.Paul Berry2012-08-241-4/+2
| | | | | | | | | | | | | | | | | | Previously, when performing a fast depth clear, we would also clear the miptree's resolve map. This destroyed important information, since the resolve map contains information about needed resolves for all levels and layers of the miptree, whereas a depth clear only applies to a single level/layer combination at a time. As a result, resolves would sometimes fail to occur, leading to incorrect rendering. Fixes rendering artifacts with shadow maps in Unigine Heaven and Unigine Sanctuary. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50270 Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* i965/HiZ: remove assertion from intel_resolve_map_set().Paul Berry2012-08-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | There are three possible resolve map states for each (level, layer) of a depth miptree: "needs HiZ resolve", "needs depth resolve", and "needs neither". When HiZ was first implemented on i965, any attempt to directly transition between "needs HiZ resolve" and "needs depth resolve" without passing through the "needs neither" state would have been a bug indicating that a necessary resolve hadn't been performed. Accordingly, intel_resolve_map_set() contained an assertion to verify that no such direct transition happened. However, now that we support fast depth clears, there is a valid transition from the "needs HiZ resolve" to the "needs depth resolve" state. When doing a fast depth clear, the old state of the buffer is irrelevant, since we are completely replacing it with the clear value, so it is not necessary to do any resolves before clearing--we can transition, if necessary, directly from the "needs HiZ resolve" state to the "needs depth resolve" state. To avoid spurious assertions in this valid case, this patch just removes the assertion. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Chad Versace <[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]>
* swrast: implement cubical depth texture samplingBrian Paul2012-08-241-41/+74
| | | | | | Fixes a few more failures in the piglit copyteximage test. Reviewed-by: Ian Romanick <[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-244-72/+76
| | | | | | | 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-244-88/+108
| | | | | | | 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-245-11/+26
| | | | 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-2410-16/+31
| | | | | 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]>
* build: don't leave git_sha1.h.tmp after build/installVadim Girlin2012-08-241-0/+2
| | | | | | | | Fixes "`main/git_sha1.h.tmp': Permission denied" build error. See https://bugs.freedesktop.org/show_bug.cgi?id=52064 Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965/msaa: Add sample-alpha-to-coverage support for multiple render targetsAnuj Phogat2012-08-234-2/+43
| | | | | | | | | | | | | | | | | | | | | | Render Target Write message should include source zero alpha value when sample-alpha-to-coverage is enabled for an FBO with multiple render targets. Source zero alpha value is used as fragment coverage for all the render targets. This patch makes piglit tests draw-buffers-alpha-to-coverage and alpha-to-coverage-no-draw-buffer-zero to pass on Sandybridge. No regressions are observed with piglit all.tests. V2: Revert all the changes made in emit_color_write() function to include src0 alpha for targets > 0. Now handling this case in a if block. V3: Correctly calculate the instruction length for buffer zero. Properly handle the case of dual_src_blend when alpha-to-coverage is enabled. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Paul Berry <[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]>
* mesa/es: Validate tex image targets in Mesa code rather than the ES wrapperIan Romanick2012-08-232-130/+29
| | | | | | | | | | | | | | This should take care of all the TexImage, TexSubImage, CopyTexImage, CompressedTexImage3DOES, and CopyTexSubImage type paths. v2: Add proper core-profile and GLES3 filtering. v3: Squash the CompressedTexImage3DOES patch 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 EGLImageTargetTexture2DOES target in Mesa code rather than ↵Ian Romanick2012-08-232-10/+15
| | | | | | | | 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 glTexParameter targets in Mesa code rather than the ES wrapperIan Romanick2012-08-233-34/+15
| | | | | | | | | | Ditto for glGetTexParameter targets. 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]>
* mesa/es: Validate GL_TEXTURE_WRAP param in Mesa code rather than the ES wrapperIan Romanick2012-08-233-26/+12
| | | | | | | | 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: Refactor validate_texture_wrap_mode to use a switch-statementIan Romanick2012-08-231-35/+42
| | | | | | | | This makes the next couple changes a little easier. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* meta: Don't modify GL_GENERATE_MIPMAP state when it doesn't existIan Romanick2012-08-231-2/+6
| | | | | | | | | | | | | | | | | | This is a bit of a hack. _mesa_meta_GenerateMipmap shouldn't even be used in contexts where GL_GENERATE_MIPMAP doesn't exist (i.e., core profile and ES2) because it uses fixed-function, and fixed-function doesn't exist there either! A GLSL-based _mesa_meta_GenerateMipmap should be available soon. When that is available, this patch will be irrelevant and should be reverted. v2: Change (ctx->API != API_OPENGLES2 && ctx->API != API_OPENGL_CORE) to (ctx->API == API_OPENGL || ctx->API == API_OPENGLES) based on review comment from Brian Paul. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>