summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
Commit message (Collapse)AuthorAgeFilesLines
* glsl: Add a helper for generating temporary variables in ir_builder.Eric Anholt2012-04-131-31/+11
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Add a helper for ir_builder to make dereferences for assignments.Eric Anholt2012-04-131-49/+17
| | | | | | v2: Fix writemask setup for non-vec4 assignments. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Make a little tracking class for emitting IR lists.Eric Anholt2012-04-131-50/+28
| | | | | | | This lets us significantly shorten p->instructions->push_tail(ir), and will be used in a few more places. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Add common swizzles to ir_builder.Eric Anholt2012-04-131-48/+18
| | | | | | | | | | Now we can fold a bunch of our expression setup in ff_fragment_shader into single-line, parseable commits. v2: Make it actually work. I wasn't setting num_components in the mask structure, and not setting up a mask structure is way easier. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Let ir_builder expressions take un-dereferenced variables.Eric Anholt2012-04-131-13/+6
| | | | | | | | | | | Having to explicitly dereference is irritating and bloats the code, when the compiler can detect and do the right thing. v2: Use a little shim class to produce the automatic dereference generation at compile time as opposed to runtime, while also allowing compile-time type checking. Reviewed-by: Kenneth Graunke <[email protected]>
* glsl: Create an ir_builder helper for hand-generating IR.Eric Anholt2012-04-131-82/+46
| | | | | | | | | | | | | | The C++ constructors with placement new, while functional, are extremely verbose, leading to generation of simple GLSL IR expressions like (a * b + c * d) expanding to many lines of code and using lots of temporary variables. By creating a new ir_builder.h that puts simple generators in our namespace and taking advantage of ralloc_parent(), we can generate much more compact code, at a minor runtime cost. v2: Replace ir_instruction usage with just ir_rvalue. v3: Drop remaining missed as_rvalue() in v2. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: add support for ARB_blend_func_extended (v4)Dave Airlie2012-04-138-6/+149
| | | | | | | | | | | | | | | | | | | | Add implementations of the two API functions, Add a new strings to uint mapping for index bindings Add the blending mode validation for SRC1 + SRC_ALPHA_SATURATE Add get for MAX_DUAL_SOURCE_DRAW_BUFFERS v2: Add check in valid_to_render to address case in spec ERRORS. v3: Add index to ir.h so this patch compiles on its own fixup comment v4: fixup Brian's comments The GLSL patch will setup the indices. Signed-off-by: Dave Airlie <[email protected]>
* mesa: fix truncated value warningDylan Noblesmith2012-04-131-1/+1
| | | | | | | | | | | | Silences a clang warning: format_pack.c:2546:30: warning: implicit conversion from 'int' to 'GLubyte' (aka 'unsigned char') changes value from 65535 to 255 [-Wconstant-conversion] d[i] = d[i] ? 0xffff : 0x0; ~ ^~~~~~ Reviewed-by: Brian Paul <[email protected]>
* mesa: don't cast away constDylan Noblesmith2012-04-131-1/+1
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: add _mesa_total_texture_memory() debug functionBrian Paul2012-04-112-0/+62
| | | | | This function can be called in gdb to find out how much memory is used by all texture objects.
* mesa: new _mesa_total_buffer_object_memory() debug functionBrian Paul2012-04-112-0/+32
| | | | | This function can be called in gdb to find out how much memory is used by buffer objects.
* main: Fix memory leak in _mesa_make_extension_string()Chad Versace2012-04-091-0/+2
| | | | | | | | | I forgot to free the string returned by strdup(). Note: This is a candidate for the stable branches. CC: Johannes Obermayr <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: Add support for the GL 3.1 R/RG formats in texture buffer objects.Eric Anholt2012-04-091-0/+54
| | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Track a gl_format for the texture buffer format.Eric Anholt2012-04-093-168/+76
| | | | | | | | | | | There was a function full of unused mappings from the GLenum to datatype/comps, but that wasn't all the information a driver would want, which includes the other fields that a gl_format has. Given that all the texture buffer formats were represented in gl_format, just use that as our description. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Handle updating texture state for buffer textures.Eric Anholt2012-04-092-0/+12
| | | | | | | | | We have to skip some work that wants to look at texture images, since buffer textures don't have any of that complexity. Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Create the default (name==0) buffer texture.Eric Anholt2012-04-091-0/+5
| | | | | | | | All that should be needed is that it exists. Fixes segfaults on first _mesa_update_context() with a samplerBuffer-using shader active but without a particular buffer texture enabled. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Set the correct initial value of the texture buffer object format.Eric Anholt2012-04-091-0/+1
| | | | | | | Fixes piglit GL_ARB_texture_buffer_object/get Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Set up glTexBuffer{,ARB} for display list compile.Eric Anholt2012-04-091-0/+3
| | | | | | | | We're supposed to just immediately call it. Fixes piglit GL_ARB_texture_buffer_object/dlist Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: regen for TBO change.Eric Anholt2012-04-092-2890/+2872
|
* ff_fragment_shader: Remove some dead fields.Eric Anholt2012-04-091-11/+0
| | | | Reviewed-by: Brian Paul <[email protected]>
* Add support for GL_EXT_unpack_subimage on GLES2Neil Roberts2012-03-272-5/+22
| | | | | | This extension just permits GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_ROWS and GL_UNPACK_SKIP_PIXELS to be passed to glPixelStore on GLES2 so it is trivial to implement.
* gles: Enable the GL_EXT_read_format_bgra extensionBenjamin Franzke2012-03-272-0/+3
| | | | | | | Also fixes the usage of GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES, which may be set to a BGRA format e.g. for a MESA_FORMAT_ARGB8888 fb. Reviewed-by: Kenneth Graunke <[email protected]>
* gles1: Enable GL_EXT_texture_format_BGRA8888 in APIspecBenjamin Franzke2012-03-271-0/+1
| | | | | | | The extension is already exposed for GLES1, but the APIspec doesnt allow the usage of GL_BGRA_EXT in glTex(Sub)Image2D. Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: regenerate enums.cDylan Noblesmith2012-03-261-3900/+4056
| | | | | | | | | For previous four commits: glapi: add GL_ARB_texture_float glapi: add GL_ARB_depth_buffer_float glapi: add GL_ARB_texture_compression_rgtc glapi: add ARB_texture_rg
* regen for "glapi: sort ARB extensions by number"Dylan Noblesmith2012-03-261-1984/+1984
|
* mesa: Fix memory leak in generate_mipmap_compressed.Vinson Lee2012-03-261-0/+1
| | | | | | | | | | Fixes Coverity resource leak defect. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* glapi: ARB_blend_func_extended support + regen. (v2)Dave Airlie2012-03-263-4754/+4804
| | | | | | | | | | This adds the xml file covering ARB_blend_func_extended. v2: fix SRC1_ALPHA Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* mesa: Fix memory leak in _mesa_get_uniform_location.Vinson Lee2012-03-231-1/+3
| | | | | | | | | | Fixes Coverity resource leak defect. NOTE: This is a candidate for the 8.0 branch. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: set numFaces=6 for cube maps in _mesa_test_texobj_completeness()Brian Paul2012-03-231-1/+2
| | | | Reviewed-by: José Fonseca <[email protected]>
* mesa: only test cube face widths in _mesa_test_texobj_completeness()Brian Paul2012-03-201-5/+8
| | | | | | | As Eric pointed out, we know the cube faces are square at this point so we only need to test the texture widths for consistency. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: add integer texture completeness checkBrian Paul2012-03-203-0/+15
| | | | | | | | Per the spec, only nearest filtering is supported for integer textures. Otherwise, the texture is incomplete. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: rework texture completeness testingBrian Paul2012-03-205-32/+67
| | | | | | | | | | | | | | | | | | | Instead of gl_texture_object::_Complete there are now two fields: _BaseComplete and _MipmapComplete. The former indicates whether the base texture level is valid. The later indicates whether the whole mipmap is valid. With sampler objects, a single texture can appear to be both complete and incomplete at the same time. See the GL_ARB_sampler_objects spec for more details. To implement this we now check if the texture is complete with respect to a sampler state. Another benefit of this is we no longer need to invalidate a texture's completeness state when we change the minification/magnification filters with glTexParameter(). Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: add _mesa_is_mipmap_filter() helperBrian Paul2012-03-201-0/+9
| | | | | Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: use _mesa_dirty_texobj() in glTexParameter codeBrian Paul2012-03-201-1/+2
| | | | | Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: use _mesa_dirty_texobj() functionBrian Paul2012-03-201-12/+5
| | | | | | | To mark the texture object as incomplete. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: rewrite/consolidate code in _mesa_test_texobj_completeness()Brian Paul2012-03-201-138/+45
| | | | | | | | Merge the mipmap level checking code that was separate cases for 1D, 2D, 3D and CUBE before. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: use new baseImage var to simplify _mesa_test_texobj_completeness()Brian Paul2012-03-201-24/+27
| | | | | Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: add comments in _mesa_test_texobj_completeness() related to the specBrian Paul2012-03-201-2/+2
| | | | | Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: better debug message in _mesa_test_texobj_completeness()Brian Paul2012-03-201-1/+1
| | | | | Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: move some code in _mesa_test_texobj_completeness()Brian Paul2012-03-201-7/+7
| | | | | | | | Move the simple MaxLevel < BaseLevel test earlier to be closer to where we error-check BaseLevel. Also, use the local baseLevel var in more places. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: use switch(target) in _mesa_test_texobj_completeness()Brian Paul2012-03-201-15/+19
| | | | | | | and add missing case for GL_TEXTURE_BUFFER. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: use MAX3() macro for 3D texture in _mesa_test_texobj_completeness()Brian Paul2012-03-201-3/+3
| | | | | | Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: make _mesa_reference_sampler_object() an inline functionBrian Paul2012-03-202-6/+15
| | | | | | | | To make the no-change case faster, as we do for the other object-reference functions. Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Validate the drawing primitive against the transform feedback mode.Eric Anholt2012-03-193-32/+43
| | | | | | Fixes piglit GL_EXT_transform_feedback/negative-prims. Reviewed-by: Brian Paul <[email protected]>
* mesa: Fold error generation into _mesa_valid_prim_mode().Eric Anholt2012-03-193-18/+18
| | | | | | | | | | | | | We want to start emitting an INVALID_OPERATION from here for transform feedback. Note that this forced dlist.c to almost not use this function, since it wants different behavior during dlist compile. Just pull the non-TF, non-GS test out for compile, because: 1) TF doesn't matter in that case because there's no drawing. 2) I don't think we're going to see GSes and display lists in the same context, if we don't do GL_ARB_compatibility. Reviewed-by: Brian Paul <[email protected]>
* glsl: Add support for parsing #version 140.Eric Anholt2012-03-151-0/+2
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: add back glGetnUniform*v() overflow error reportingDylan Noblesmith2012-03-132-5/+13
| | | | | | | | | | | | | | | | | | The error was removed in: commit 719909698c67c287a393d2380278e7b7495ae018 Author: Ian Romanick <[email protected]> Date: Tue Oct 18 16:01:49 2011 -0700 mesa: Rewrite the way uniforms are tracked and handled The GL_ARB_robustness spec doesn't say the implementation should truncate the output, so just return after setting the required error like it did before the above commit. Also fixup an old comment and add an assert. NOTE: This is a candidate for the 8.0 branch.
* mesa: Fix the cause of piglit test fbo-array failureAnuj Phogat2012-03-121-1/+3
| | | | | | | | | | | | | Handle the special case of glFramebufferTextureLayer() for which we pass teximage = 0 internally in framebuffer_texture(). This patch makes failing piglit test fbo-array, fbo-depth-array to pass. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47126 V4: Removed the duplicated code. Note: This is a candidate for the stable branches. Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: fix _mesa_DebugMessageCallbackARB() to silence warningsBrian Paul2012-03-121-2/+2
| | | | Reviewed-by: José Fonseca <[email protected]>
* mesa: add more comments about textarget in framebuffer_texture()Brian Paul2012-03-121-2/+10
|