summaryrefslogtreecommitdiff
path: root/src/mesa
AgeCommit message (Collapse)Author
2011-02-21intel: Use system memory for DYNAMIC_DRAW source objectsChris Wilson
Dynamic draw buffers are used by clients for temporary arrays and for uploading normal vertex arrays. By keeping the data in memory, we can avoid reusing active buffer objects and reallocate them as they are changed. This is important for Sandybridge which can not issue blits within a batch and so ends up flushing the batch upon every update, that is each batch only contains a single draw operation (if using dynamic arrays or regular arrays from system memory). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21i965: Trim the trailing NOOP from 3DSTATE_INDEX_BUFFERChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-21i965: Fallback on encountering a NULL render bufferChris Wilson
Following a GPU hang, or other error, the render target is not likely to have an allocated BO and so we must fallback to avoid using it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32534 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-18vbo: add debug code to verify that buffers are unmapped before drawingBrian Paul
2011-02-18mesa: MESA_VERBOSE logging for glRead/Draw/CopyPixels, glBlitFramebufferBrian Paul
2011-02-18st/mesa: set renderbuffer _BaseFormat in a few placesBrian Paul
NOTE: This is a candidate for the 7.9 and 7.10 branches
2011-02-18st/mesa: check buffer orientation in blit_copy_pixels()Brian Paul
Can't invert the region if copying between surfaces with different orientations.
2011-02-18st/mesa: fix geometry corruption by always re-binding vertex arraysMarek Olšák
This is a temporary workaround. It fixes sauerbrauten with shaders enabled. I guess we might be changing vertex attribs somewhere and not updating the appropriate dirty flags, therefore we can't rely on them for now. Or maybe we need to make this state dependent on some other flags too. More info: https://bugs.freedesktop.org/show_bug.cgi?id=34378
2011-02-18Point to bugs.freedesktop.org rather than bugzilla.freedesktop.orgCyril Brulebois
Suggested by a freedesktop.org admin. Signed-off-by: Cyril Brulebois <kibi@debian.org>
2011-02-17st/mesa: implement blit-based path for glCopyPixelsBrian Paul
If doing a simple non-overlapping glCopyPixels with no per-fragment ops we can use pipe_context::resource_copy_region().
2011-02-17mesa: fix comments for _mesa_clip_readpixels()Brian Paul
2011-02-17st/mesa: indentation fixBrian Paul
2011-02-17st/mesa: fix incorrect glCopyPixels position on fallback pathBrian Paul
If we hit the pipe_get/put_tile() path for setting up the glCopyPixels texture we were passing the wrong x/y position to pipe_get_tile(). The x/y position was already accounted for in the pipe_get_transfer() call so we were effectively reading from 2*readX, 2*readY. NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-02-17mesa: Do copy propagation across if-else-endif.José Fonseca
Addresses excessive TEMP allocation in vertex shaders where all CONSTs are stored into TEMPS at the start, but copy propagation was failing due to the presence of IFs. We could do something about loops, but ifs are easy enough.
2011-02-17st/mesa: remove unused screen variablesBrian Paul
2011-02-17mesa: remove the MESA_NO_DITHER env varBrian Paul
This was sometimes useful back when 16-bit framebuffers were prominent.
2011-02-16mesa: make _mesa_write_renderbuffer_image() non-staticBrian Paul
2011-02-16mesa: 80-column wrapBrian Paul
2011-02-16mesa: fix texture3D mipmap generation for UNSIGNED_BYTE_3_3_2 and 4_4Marek Olšák
Oops, I copy-pasted a typo from 3_3_2. The 3_3_2 part is a candidate for 7.9 and 7.10. The 4_4 part isn't, because AL44 is in neither branches.
2011-02-16mesa: fix mipmap generation for MESA_FORMAT_AL44Marek Olšák
This was missed when implementing AL44.
2011-02-16mesa: Remove the DXT compression via blit path.José Fonseca
No longer used.
2011-02-16mesa: use gl_format type instead of GLuintBrian Paul
2011-02-15tnl: Add support for datatype GL_FIXED in vertex arraysChad Versace
Before populating the vertex buffer attribute pointer (VB->AttribPtr[]), convert vertex data in GL_FIXED format to GL_FLOAT. Fixes bug: http://bugs.freedesktop.org/show_bug.cgi?id=34047 NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-02-15gallium: add usage parameter to pipe_buffer_createMarek Olšák
And set a reasonable buffer usage flag everywhere instead of just PIPE_USAGE_DEFAULT.
2011-02-15st/mesa: fix compressed mipmap generation.Dave Airlie
If the underlying transfer had a stride wider for hw alignment reasons, the mipmap generation would generate badly strided images. this fixes a few problems I found while testing r600g with s3tc Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-15st/mesa: fix GLES buildMarek Olšák
Broken since d5062fb3a315c46d77d5c954a3e3c14be1907d33. I wonder why this code is hidden behind #if by default.
2011-02-14st/mesa: Use blend equation and function of first render target for all ↵Fabian Bieler
render targets if ARB_draw_buffers_blend is not supported If EXT_draw_buffers2 is supported but ARB_draw_buffers_blend isn't _mesa_BlendFuncSeparateEXT only sets up the blend equation and function for the first render target. This patch makes sure that update_blend doesn't try to use the data from other rendertargets in such cases. Signed-off-by: Brian Paul <brianp@vmware.com>
2011-02-14gallium: notify drivers about possible changes in user buffer contentsMarek Olšák
Also implement the redefine_user_buffer hook in the drivers.
2011-02-14st/mesa: set vertex arrays state only when necessaryMarek Olšák
The vertex arrays state should be set only when (_NEW_ARRAY | _NEW_PROGRAM) is dirty. This assumes user buffer content is mutable, which will be sorted out in the next commit. The following usage case should be much faster now: for (i = 0; i < 1000; i++) { glDrawElements(...); } Or even: for (i = 0; i < 1000; i++) { glSomeStateChangeOtherThanArraysOrProgram(...); glDrawElements(...); } The performance increase from this may be significant in some apps and negligible in others. It is especially noticable in the Torcs game (r300g): Before: 15.4 fps After: 20 fps Also less looping over attribs in st_draw_vbo yields slight speed-up in apps with lots of glDraw* calls.
2011-02-14gallium: remove pipe_vertex_buffer::max_indexMarek Olšák
This is redundant to pipe_draw_info::max_index and doesn't really fit in the optimizations I plan.
2011-02-14gallium: always save and restore vertex buffers using cso_cacheMarek Olšák
2011-02-14vbo: bind arrays only when necessaryMarek Olšák
We don't need to call bind_arrays in the vbo module if the states which the function depends on are not dirty.
2011-02-14vbo: notify a driver that we change buffer offsets, strides, etc.Marek Olšák
2011-02-12dri: Remove the old metaops code which has been superceded by ../common/Eric Anholt
2011-02-12radeon: Remove setup of the old dri/ meta code, which is now unused.Eric Anholt
2011-02-12intel: Remove setup of the old dri/ meta code, which is now unused.Eric Anholt
2011-02-11r300/compiler: Don't erase sources when converting RGB->AlphaTom Stellard
https://bugs.freedesktop.org/show_bug.cgi?id=34030 NOTE: This is a candidate for the 7.10 branch.
2011-02-11mesa: Optionally build a dricore support library (v3)Christopher James Halse Rogers
This an adds --enable-shared-dricore option to configure. When enabled, DRI modules will link against a shared copy of the common mesa routines rather than statically linking these. This saves about 30MB on disc with a full complement of classic DRI drivers. v2: Only enable with a gcc-compatible compiler that handles rpath Handle DRI_CFLAGS without filter-out magic Build shared libraries with the full mklib voodoo Fix typos v3: Resolve conflicts with talloc removal patches Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
2011-02-11ir_to_mesa: Don't dereference a NULL pointer during copy propagationIan Romanick
The ACP may already be NULL, so don't try to make it NULL again. This should fix bugzilla #34119.
2011-02-11st/mesa: Fix surfaceless opengl with non-dummy contextsBenjamin Franzke
main/context.c:check_complatible() detecs an incomplete framebuffer using its pointer, so do not copy it. This should fix https://bugs.freedesktop.org/show_bug.cgi?id=34042
2011-02-11mesa: remove some unused gl_shader fieldsBrian Paul
2011-02-10mesa: Remove empty header file s_trispan.h.Kenneth Graunke
2011-02-11st/mesa: allow rendering to sRGB textures if EXT_fb_srgb is unsupportedMarek Olšák
In this case, we always use the corresponding linear format in create_surface, therefore we should check for linear format support as well.
2011-02-10i915: Force lowering of all types of indirect array accesses in the FSIan Romanick
NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-02-10i915: Calculate partial result to temp register firstIan Romanick
Previously the SNE and SEQ instructions would calculate the partial result to the destination register. This would cause problems if the destination register was also one of the source registers. Fixes piglit tests glsl-fs-any, glsl-fs-struct-equal, glsl-fs-struct-notequal, glsl-fs-vec4-operator-equal, glsl-fs-vec4-operator-notequal. NOTE: This is a candidate for the 7.9 and 7.10 branches.
2011-02-10mesa/st: enable GL_EXT_framebuffer_sRGBDave Airlie
If the formats don't match we need to update the surface with the new format. if we can render to SRGB formats, enable the extension Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-02-09mesa/st: Clean up vertex buffer unreferencingThomas Hellstrom
Avoid accessing draw module internal structures outside of the draw module. Unreference vertex buffers in error path. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2011-02-08r200: add cast to silence warningBrian Paul
2011-02-08mesa: remove unused BITFIELD64 macrosBrian Paul
2011-02-08mesa: remove _mesa_create_context_for_api()Brian Paul
Just add the gl_api parameter to _mesa_create_context().