summaryrefslogtreecommitdiffstats
path: root/src/mesa
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Add a gl_vert_result for gl_ClipVertex.Paul Berry2011-10-051-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, clip planes didn't work properly in Mesa when using vertex shaders, because Mesa assigned both gl_ClipVertex and gl_Position to the same gl_vert_result (VERT_RESULT_HPOS). As a result, backends couldn't distinguish between the two variables, so any shader that wrote different values to them would fail to work properly. This patch paves the way for proper support of gl_ClipVertex by creating a new enumerated value in gl_vert_result for it (VERT_RESULT_CLIP_VERTEX). After this patch, a back-end may add support for gl_ClipVertex using the following algorithm: - If using a user-supplied GLSL vertex shader: - If the bit corresponding to VERT_RESULT_CLIP_VERTEX is set in gl_program::OutputsWritten: - Clip using the vertex shader output VERT_RESULT_CLIP_VERTEX and the clip planes defined in gl_context::Transform.EyeUserPlane. - Else: - Clip using the vertex shader output VERT_RESULT_HPOS and the clip planes defined in gl_context::Transform.EyeUserPlane. - Else (either using fixed function or an ARB vertex program): - Clip using the vertex shader output VERT_RESULT_HPOS and the clip planes defined in gl_context::Transform._ClipUserPlane (*) where (*) represents the normal Mesa behavior before this patch. An example of implementing the above algorithm can be found in the patch that follows this one, which implements gl_ClipVertex in i965 Gen6. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: update fbo format tablet for integer types.Dave Airlie2011-10-051-1/+61
| | | | | | This updates the fbo format table for the integer types. Signed-off-by: Dave Airlie <[email protected]>
* mesa/texstore: add texstore paths for all the integer types.Dave Airlie2011-10-051-12/+104
| | | | | | | | | This just adds the entries to the table and fixes the asserts up. The int32 one is definitely wrong, since it uses a float temp which will lose precision, but its no worse than now. Signed-off-by: Dave Airlie <[email protected]>
* mesa/texformat: update choose_tex_format for integer types.Dave Airlie2011-10-051-4/+79
| | | | | | This adds the integer types to the tex format chooser. Signed-off-by: Dave Airlie <[email protected]>
* mesa/formats: add rest of integer formats.Dave Airlie2011-10-052-2/+562
| | | | | | | | | | | | | | | | This is taken from reading EXT_texture_integer + EXT_texture_rg in combination, Comments on necessity of each format, naming of formats and bugs in the formats tables please. Is there any formats I've missed? Eric looked over this to make sure its consistent at least. As I've changed the ordering of things in the format table, the follow patches are required to avoid regression. Signed-off-by: Dave Airlie <[email protected]>
* texstore: create texstore table on first access.Dave Airlie2011-10-051-149/+120
| | | | | | | | As per Brian's suggestion we can generate this table at first start to make sure its correct. This is a sad workaround for compilers which don't support named initialiser. (its 2011). Signed-off-by: Dave Airlie <[email protected]>
* r200/r300/r600: remove dangling radeon_tex_getimage.c symlinks.Paul Berry2011-10-043-3/+0
| | | | | | | | | | | | Commit d1fda903 (radeon: Drop mapping we were doing around glGetTexImage()) removed the common Radeon source file radeon_tex_getimage.c, and pulled it out of the r200, r300, r600, and radeon makefiles. But it left behind the symlinks that were being used to share that file among the four directories. This patch removes the dangling symlinks. Reviewed-by: Brian Paul <[email protected]>
* scons: add new files to src/mesa/SConscriptBrian Paul2011-10-041-0/+2
|
* mesa: Remove unused gl_program::AttributesIan Romanick2011-10-045-34/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Determine GL_ACTIVE_ATTRIBUTE_MAX_LENGTH by walking the GLSL IR.Ian Romanick2011-10-045-33/+32
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Determine GL_ACTIVE_ATTRIBUTES by walking the GLSL IR.Ian Romanick2011-10-043-1/+30
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Remove unused gl_shader_program::AttributesIan Romanick2011-10-043-14/+2
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Make _mesa_GetActiveAttribARB use the attributes in the shader IRIan Romanick2011-10-041-13/+38
| | | | | | | | | Instead of relying on the mirror in the Mesa IR assembly shader, just use the variables actually stored in the GLSL IR. This will be a bit slower, but nobody cares about the performance of glGetActiveAttrib. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Move _mesa_GetActiveAttribARB to shader_query.cppIan Romanick2011-10-042-42/+32
| | | | | | | | | This just folds get_active_attrib into _mesa_GetActiveAttribARB and moves the resulting function function to the other source file. More changes are coming soon. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Add gl_shader_program::AttributeBindingsIan Romanick2011-10-043-1/+24
| | | | | | | | | This currently mirrors the state tracking gl_shader_program::Attributes, but I'm working towards eliminating that. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Move _mesa_BindAttribLocationARB to shader_query.cppIan Romanick2011-10-042-52/+42
| | | | | | | | | This just folds bind_attrib_location into _mesa_BindAttribLocationARB and moves the resulting function function to the other source file. More changes are coming soon. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Add string_to_uint_map facade classIan Romanick2011-10-043-2/+122
| | | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Acked-by: Paul Berry <[email protected]>
* mesa: Add hash_table_replaceIan Romanick2011-10-042-0/+40
| | | | | | | hash_table_replace doesn't use get_node to avoid having to hash the key twice. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Move _mesa_GetAttribLocationARB to shader_query.cppIan Romanick2011-10-043-42/+90
| | | | | | | | This allows querying the linked shader itself rather than the Mesa IR. This is the first step towards removing gl_program::Attributes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: regen API files for new extensionIan Romanick2011-10-042-3350/+3385
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Remove ARB_draw_buffers extension enable flagIan Romanick2011-10-046-14/+3
| | | | | | | | | | | | | All drivers in Mesa have supported this extension for eons. This extension is an optional features in desktop OpenGL (via GL_ARB_draw_buffers) and OpenGL ES 2.x (via GL_NV_draw_buffers). The extension is not usable in OpenGL ES 1.x. There is no glDrawBuffers* entry point in OpenGL ES 1.x contexts, and glGet*v generate errors when MAX_DRAW_BUFFERS or DRAW_BUFFERi is queried. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Advertise NV_fbo_color_attachments on OpenGL ES 2.0Ian Romanick2011-10-041-0/+1
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: Advertise NV_draw_buffers in OpenGL ES 2.0Ian Romanick2011-10-041-0/+1
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Allow querying GL_DRAW_BUFFERi in OpenGL ES 2.0Ian Romanick2011-10-041-17/+17
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Allow querying GL_MAX_COLOR_ATTACHMENTS in OpenGL ES 2.0Ian Romanick2011-10-041-4/+4
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Allow other color attachments in OpenGL ES 2.0Ian Romanick2011-10-041-1/+5
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Make glDrawBuffersNV available in OpenGL ES 2.0Ian Romanick2011-10-041-0/+13
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Remove redundant renderbuffer target validationIan Romanick2011-10-041-25/+0
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Validate FBO target enum in Mesa code rather than the ES wrapperIan Romanick2011-10-042-32/+4
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa/es: Validate FBO attachment enum in Mesa code rather than the ES wrapperIan Romanick2011-10-042-28/+6
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* configure: replace pkg-config calls with $(PKG_CONFIG) in the makefiles.Stéphane Marchesin2011-10-041-1/+1
| | | | | | | Us poor souls who cross compile mesa want to be able to specify which pkg-config to pick, or at least just change one place. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* Remove remnants of legacy glide supportGuillem Jover2011-10-043-44/+0
| | | | | Signed-off-by: Guillem Jover <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* nouveau: remove unused code, unused varBrian Paul2011-10-031-29/+0
|
* i915: don't include texstore.hBrian Paul2011-10-031-1/+0
|
* i965: remove unneeded includes of texstore.hBrian Paul2011-10-033-3/+0
|
* swrast: fix delayed texel buffer allocation regressionBrian Paul2011-10-031-20/+20
| | | | | | | | Commit 617cdcd4c7b1cffb584c829c35bdf9c9bf04627b delayed the texel buffer allocation until texture_combine() is called. But the texel buffer is needed sooner in _swrast_texture_span() at line 649. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41433
* mesa: fix warning (MSVC error) about void pointer arithmeticBrian Paul2011-10-031-1/+1
|
* i965: Add support for GL_EXT_texture_array and GL_MESA_texture_array.Eric Anholt2011-10-039-5/+43
|
* intel: Add a safety check for mapping 1D texture arrays.Eric Anholt2011-10-031-0/+4
| | | | So easy to screw up with the crazy way GL manages them.
* intel: Add debug output to intel_map_texture_image.Eric Anholt2011-10-031-1/+7
|
* intel: Add a helper function for getting miptree size from a texture image.Eric Anholt2011-10-038-35/+80
| | | | | With 1D array textures, we no longer agree between the GL information about width/height/depth of a texture and how we lay out a miptree.
* i965: Refactor out the cube map setup for general texture array setup.Eric Anholt2011-10-031-29/+37
| | | | This is just moving the code out with s/6/slices/.
* mesa: Reuse existing make_2d_mipmap for 2D array generation.Eric Anholt2011-10-031-99/+5
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: Make the uncompressed sw mipmap gen path do a Map per 1D array slice.Eric Anholt2011-10-031-44/+17
| | | | | | This also fixes what was probably a bug in 1D arrays with border. Reviewed-by: Brian Paul <[email protected]>
* mesa: When storing texture data for a 1D array, map each slice separately.Eric Anholt2011-10-031-16/+52
| | | | Reviewed-by: Brian Paul <[email protected]>
* swrast: When asked to map a slice of a 1D array, give back that slice.Eric Anholt2011-10-031-0/+7
| | | | | | | | | Until now, we've been treating 1D arrays as a single slice, and each array slice is actually just a row of the 2D texture. While swrast still stores them this way, hardware drivers think that 1D arrays have actual separate slices not stored as contiguous rows. Reviewed-by: Brian Paul <[email protected]>
* intel: Consolidate texture validation copy code, and reuse it correctly.Eric Anholt2011-10-036-193/+106
| | | | | | | | The path for ->Data was failing to be called for the FBO draw offset fallback, and also had mismatched compressed texture support code. This drops the intel_prepare_render() in the blit path. We aren't copying to/from a GL_FRONT buffer, so it doesn't matter.
* intel: Clean up the function chain for mapping texture images for swrast.Eric Anholt2011-10-033-113/+65
| | | | | | Too many separate functions each called from one location (in different files). This code should all die soon when swrast starts using MapTextureImage.
* intel: Make PBO TexImage use AllocTextureImageBuffer like non-PBO does.Eric Anholt2011-10-032-54/+21
| | | | | Now that whole block that also lives in AllocTextureImageBuffer can go away.
* intel: Rely on Mesa core for glTexImage storage.Eric Anholt2011-10-031-52/+4
| | | | Reviewed-by: Brian Paul <[email protected]>