summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-11-14llvmpipe: Remove unused variables.José Fonseca1-2/+0
Reviewed-by: Brian Paul <brianp@vmware.com>
2011-11-14llvmpipe: Make more resilient to out-of-memory situations.José Fonseca5-24/+68
Most of the code was alright, but we were missing a few paths. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-11-14draw: Handle failure to allocate aligned_constant_storage.José Fonseca1-3/+9
Also, actually update const_storage_size, therefore avoiding to unnecessarily reallocate aligned_constant_storage every single time draw_vs_set_constants() is called. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-11-14gallivm: Remove duplicate statement.José Fonseca1-2/+0
ary_ge_arx_arz is already set earlier. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-11-14gallivm: Include stddef.h before the LLVM C++ headers.José Fonseca2-0/+4
Necessary with build against LLVM 2.6, with recent gcc, as LLVM headers depend on ptrdiff_t but don't properly include stddef.h
2011-11-14llvmpipe: fix unswizzle of packed float types.Dave Airlie1-2/+2
I messed up adding the ubyte->float conversion. This fixes getteximage-formats https://bugs.freedesktop.org/show_bug.cgi?id=42837 Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-13r600g: properly handle cayman in is_alu_vec_unit_inst()Alex Deucher1-7/+15
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-11-13r600g: fix cb offset for flushed_depth_textureVadim Girlin1-1/+1
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
2011-11-13r600g: fix stencil buffer ref counting on evergreenVadim Girlin1-1/+4
Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
2011-11-13r600g: lazy load for AR registerVadim Girlin3-46/+61
Emit MOVA* instruction only when AR is used. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
2011-11-13r600g: include INTERP_[XY|ZW] in is_alu_vec_unit_instVadim Girlin1-1/+3
This will disallow moving them to the trans slot in merge_inst_groups Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
2011-11-12glcpp: Add GL_ARB_draw_instanced #define.Morgan Armand1-0/+3
2011-11-12i965: Don't try to normalize cubemap coordinates for textureSize.Kenneth Graunke1-0/+3
Although textureSize is represented as an ir_texture with op == ir_txs, it doesn't have a coordinate, so normalizing it doesn't make sense. Fixes crashes in oglconform glsl-bif-tex-size basic.samplerCube.* tests. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-11mesa: Fix glFramebufferTexture*() for depth and stencil attachmentsChad Versace1-3/+55
This patch solves three bugs. 1. When a texture was attached to the GL_DEPTH_STENCIL_ATTACHMENT point, Mesa attached the texture only to the depth attachment point gl_framebuffer::Attachment[BUFFER_DEPTH] and failed to attach it to the stencil attachment point gl_framebuffer::Attachment[BUFFER_STENCIL] 2. When a texture was attached to the GL_DEPTH_ATTACHMENT point and then later attached to the GL_STENCIL_ATTACHMENT point, Mesa created two separate renderbuffer wrappers. This caused a GL error in glGetFramebufferAttachmentParameteriv(). 3. Same as 2, but with depth and stencil juxtaposed. Fixes Piglit test ARB_framebuffer_object/same-attachment-glFramebufferTexture2D-GL_DEPTH_STENCIL Note: This is a candidate for the stable branches. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2011-11-11i965: Expose GLSL 1.30 on gen6+.Eric Anholt1-1/+4
With the gl_VertexID support, everything required should now be supported. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-11-11i965: Add support for gl_VertexID and gl_InstanceID.Eric Anholt4-6/+63
The compiler setup for these VF-uploaded attributes looks a little cheesy with mixing system values and real VBO-sourced attributes. It would be nice if we could just compute the ATTR[] map to GRF index up front and use it at visit time instead of using ir->location in the ATTR file. However, we don't know the reg_offset at visit(ir_variable *) time, so we can't do the mapping that early. Fixes piglit vertexid test. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-11-11i965: Replace a should-never-happen fallback with asserts where it matters.Eric Anholt2-13/+15
We only allow 16 vec4s of attributes in our GLSL/ARB_vp programs, and 1 more element will get used for gl_VertexID/gl_InstanceID. So it should never have been possible to hit this fallback, unless there was another bug. If you do hit this, you're probably using gl_VertexID and falling back to swrast won't work for you anyway. This also updates the limits for gen6+. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-11-11mesa: Make gl_VertexID be a system value like gl_InstanceID.Eric Anholt2-1/+2
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-11-11glsl: Move builtin_variables.h into .cpp.Eric Anholt2-111/+86
This used to be script-generated, but now it's just a bunch of static variables in a .h file for no good reason. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-11-11glsl: Move ir_variable.cpp to builtin_variables.cpp.Eric Anholt2-1/+1
It's only about builtins, not variables in general. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-11-11state_tracker: remove written but never used variable.Mathias Fröhlich1-2/+0
2011-11-11radeon: fix build.Dave Airlie1-1/+1
I had a later patch remove this code, but cherry-picked across it. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-11radeon: drop unused constant_cliprect fieldDave Airlie2-2/+0
2011-11-11radeon: disable texobj state for 3d textureDave Airlie1-0/+1
for 3d texture fallback, disable the texobj state. Signed-off-by : Dave Airlie <airlied@redhat.com>
2011-11-11radeon: use meta bitmapDave Airlie1-0/+1
Now that the stride bug is fixed, enable Bitmap via meta mode. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-11radeon: fix bug with wrong stride being used for rectangluar textures.Dave Airlie4-6/+6
This broke the meta bitmap code when it was enabled. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-11i965: remove #include of api_noop.hBrian Paul1-1/+0
2011-11-11xlib: set alpha to 0xff when mapping RGB pixmapsBrian Paul1-0/+11
Fixes a bunch of conform regressions.
2011-11-11swrast: avoid calling _mesa_get_srgb_format_linear() inside a loopBrian Paul1-3/+3
2011-11-11swrast: remove bogus assertionBrian Paul1-1/+0
It would fail for images that were never allocated (and wouldn't be used during rendering).
2011-11-11svga: don't crash/assert if we fail to allocate a vertex bufferBrian Paul1-9/+20
v2: check if pipe_buffer_map() returns NULL, and return NULL from svga_vbuf_render_map_vertices(). Per Jose's suggestion. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2011-11-11draw: handle out of memory conditionsBrian Paul1-3/+5
If the vbuf backend fails to allocate a vertex buffer, don't crash or assert.
2011-11-11util: check for null vertex buffer object in blit codeBrian Paul1-6/+10
Don't crash if we fail to allocate a vertex buffer.
2011-11-11st/mesa: fix OOM failure in bitmap codeBrian Paul1-5/+10
2011-11-11vbo: better handling of VBO allocation failuresBrian Paul5-39/+125
Previously, if we failed to allocate a VBO (either for display list compilation or immediate mode rendering) we'd eventually segfault when trying to map the non-existant buffer or in a glVertex/Color/etc call when we hit a null pointer. Now we don't try to map non-existant buffers and if we do fail to allocate a VBO we plug in no-op functions for glVertex/Color/etc so we don't segfault.
2011-11-11mesa: replace api_noop.[ch] with vbo_noop.[ch]Brian Paul5-1116/+530
None of the code in api_noop.c was used anymore. The new vbo_noop.c functions are true no-ops. They'll be used to no-op glBegin/End functions when we run out of VBO memory.
2011-11-11vbo: pull some code from api_noop.c into vbo moduleBrian Paul2-16/+208
Only a handful of functions from api_noop.c are actually used by the VBO module. Move them to the VBO module. With this change, none of the code in api_noop.c is actually used anymore.
2011-11-11mesa: remove ancient, unused gl_free_control_points prototoypeBrian Paul1-4/+0
2011-11-10i965: Make Gen6+ renderbuffer surface updates not depend on NEW_COLOR.Kenneth Graunke3-2/+12
NEW_COLOR is only needed on Gen4-5 as brw_update_renderbuffer_surfaces only uses ctx->Color when intel->gen < 6. This should reduce unnecessary state updates. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-10i965: Reorder state atom lists so all the surface state is together.Kenneth Graunke1-16/+19
Not strictly necessary, but seems like a good idea. Suggested-by: Eric Anholt <eric@anholt.net> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-11-10glsl: Handle constant expressions involving ir_binop_equal/nequal.Kenneth Graunke1-0/+6
Constant expressions which called GLSL's equal() and notEqual() built-ins on bvecs would hit an assertion failure; we simply forgot to implement them for booleans. NOTE: This is a candidate for stable release branches. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2011-11-10glsl: Remove textureGradOffset built-ins taking samplerCube parameters.Kenneth Graunke3-9/+0
These simply don't exist in the 1.30 specification---none of the Offset variants allow samplerCube. This must have been a cut and paste error from textureGrad, which /does/ allow cubemaps. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2011-11-10glsl: Fix misnamed textureProjOffset prototypes in built-in profiles.Kenneth Graunke2-62/+62
Due to a cut and paste error, these were accidentally misnamed textureProj() rather than textureProjOffset(). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2011-11-10glsl: Remove texture built-ins with 'bias' from 1.30 VS profile.Kenneth Graunke1-118/+4
From the GLSL 1.30 spec, section 8.7 "Texture Lookup Functions": "In all functions below, the bias parameter is optional for fragment shaders. The bias parameter is not accepted in a vertex shader." This was a cut and paste mistake. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2011-11-10i965: Put a proper sampler count in 3DSTATE_VS.Kenneth Graunke2-3/+5
See similar code for 3DSTATE_WM. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-10i965: Upload SAMPLER_STATE pointers for the VS on Ivybridge.Kenneth Graunke1-1/+7
See similar code in gen7_wm_state.c. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-10i965: Move and rename "wm sampler" fields to just "sampler".Kenneth Graunke9-33/+37
brw_wm_samplers actually enables any active samplers regardless of what pipeline stage is using them, so it doesn't make much sense for it to be WM-specific. So, rename it to "brw_samplers." To properly generalize it, move sampler_count and sampler_offset from brw_context::wm to a new brw_context::sampler that can be shared without looking strange. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-10i965: Clean up code for VS pull constant surface creation.Kenneth Graunke3-64/+20
Like for the WM pull constants, we can merge the former prepare/emit stages into one tracked state atom. Furthermore, the code that used to handle the binding table was removed in the last commit, leaving some rather silly looking short functions that can easily be folded in. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-11-10i965: Use a single binding table for all pipeline stages.Kenneth Graunke9-85/+80
Although the hardware supports separate binding tables for each pipeline stage, we don't see much advantage over a single shared table. Consider the contents of the binding table: - Textures (16) - Draw buffers (8) - Pull constant buffers (1 for VS, 1 for WM) OpenGL's texture bindings are global: the same set of textures is available to all shader targets. So our binding table entries for textures would be exactly the same in every table. There are only two pull constant buffers (not many), and although draw buffers aren't interesting to the VS, it shouldn't hurt to have them in the table. The hardware supports up to 254 binding table entries, and we currently only use 26. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2011-11-10i965: Split brw_wm_surfaces state into renderbuffer and texture atoms.Kenneth Graunke3-15/+35
First, the texturing setup code is relevant for all pipeline stages, while renderbuffer surfaces are only used by the WM. Secondly, renderbuffer and texture setup depends on a different set of dirty bits. There's no reason to walk the array of textures when changing draw buffers, or vice-versa. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>