summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker
AgeCommit message (Collapse)Author
2009-08-01mesa st: Use POT texture for draw pixels operations if NPOT texture is not ↵Patrice Mandin
supported
2009-08-01mesa st: Move logbase2 function to util/u_math.hPatrice Mandin
2009-07-31Rename TGSI LOOP instruction to better match theri usage.Michal Krol
The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour is similar to a C language for-loop. The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now there is no name collision.
2009-07-30Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-30mesa st: Change the preferred internal format for some RGB formats.Thomas Hellstrom
For GL_RGB5, GL_RGB4 and GL_R3_G3_B2, prefer PIPE_FORMAT_R5G6B5_UNORM over PIPE_FORMAT_A1R5G5B5_UNORM, since hardware is more likely to support the previous format for rendering. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2009-07-30mesa st: Report unsupported render-to-texture formats.Thomas Hellstrom
If a texture image is bound to a framebuffer for render-to-texture, but the hardware doesn't support rendering to its internal format, report the framebuffer as incomplete with FRAMEBUFFER_UNSUPPORTED. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
2009-07-29gallium: fix SSE shadow texture instructionsBrian Paul
When sampling a 2D shadow map we need 3 texcoord components, not 2. The third component (distance from light source) is compared against the texture sample to return the result (visible vs. occluded). Also, enable proper handling of TGSI_TEXTURE_SHADOW targets in Mesa->TGSI translation. There's a possibility for breakage in gallium drivers if they fail to handle the TGSI_TEXTURE_SHADOW1D / TGSI_TEXTURE_SHADOW2D / TGSI_TEXTURE_SHADOWRECT texture targets for TGSI_OPCODE_TEX/TXP instructions, but that should be easy to fix. With these changes, progs/demos/shadowtex.c renders properly again with softpipe.
2009-07-29mesa/st: short-circuit glFinish calls on WIN32 onlyKeith Whitwell
Windows opengl32.dll calls glFinish prior to every swapbuffers, which makes it pretty hard to get decent performance... Work around by mapping finish to flush on PIPE_OS_WINDOWS. This is conformant, though it might confuse poorly-written benchmarks which attempt to measure a single event rather than figuring out the rate of continuous processing.
2009-07-29mesa/st: recognize no-op scissor state when checking clear_with_quadsKeith Whitwell
Some apps enable scissor but set the rectangle to the dimensions of the window. Don't let this force us onto a slower clear path.
2009-07-28Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile configs/default docs/relnotes.html src/mesa/main/version.h
2009-07-27st/mesa: silence warningBrian Paul
2009-07-22gallium: simplify tgsi_full_immediate structKeith Whitwell
Remove the need to have a pointer in this struct by just including the immediate data inline. Having a pointer in the struct introduces complications like needing to alloc/free the data pointed to, uncertainty about who owns the data, etc. There doesn't seem to be a need for it, and it is unlikely to make much difference plus or minus to performance. Added some asserts as we now will trip up on immediates with more than four elements. There were actually already quite a few such asserts, but the >4 case could be used in the future to specify indexable immediate ranges, such as lookup tables.
2009-07-17Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile progs/glsl/multitex.c src/mesa/main/enums.c src/mesa/main/state.c src/mesa/main/texenvprogram.c src/mesa/main/version.h
2009-07-16mesa: Fix logbase2.José Fonseca
It was providing 1 too many for non power two values.
2009-07-16st/mesa: add some array index bounds assertionsBrian Paul
2009-07-14mesa: Report the true face number when flushing.José Fonseca
2009-07-14gallium: Define PIPE_CAP_BLEND_EQUATION_SEPARATE, remove extension from ↵Patrice Mandin
default extension list
2009-07-13Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-11gallium: compare the actual register, not all the inputsZack Rusin
otherwise we decrement indexes for all registers
2009-07-10st/mesa: implement indirect addressing for destination registersBrian Paul
2009-07-07gallium: fixup register indexes for fog/frontface/point coordZack Rusin
2009-07-07gallium: Fixes for clobbering stencil values in combined depth/stencil textures.Michel Dänzer
Also fix one case where a 32 bit depth value was incorrectly converted to a combined depth/stencil value.
2009-07-07gallium: Only set FRONT_STATUS_COPY_OF_BACK if there is a back buffer.Michel Dänzer
Fixes potential crash when SwapBuffers is called but there's no back buffer.
2009-07-06gallium: more fog extraction fixesZack Rusin
fix the cases when fog coord/front face/point coord are used in the same shader.
2009-07-05Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
2009-07-04Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
2009-07-03Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
Conflicts: src/mesa/main/dlist.c src/mesa/vbo/vbo_save_api.c
2009-07-02mesa: Assume depth textures have a single level unless told otherwise.José Fonseca
2009-06-30Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/vbo/vbo_exec_draw.c
2009-06-30mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange.José Fonseca
As prescribed by ARB_map_buffer_range.
2009-06-30st/gl: Add stubs for CompressedTexSubImage[1D|3D]Jakob Bornecrantz
2009-06-30st/gl: Add support for glCompressedTexSubImageJakob Bornecrantz
2009-07-01mesa: Unbind depth/stencil surface from pipe_framebuffer when none is attached.José Fonseca
2009-07-01gallium: fix the front face semanticsZack Rusin
mesa allocates both frontface and pointcoord registers within the fog coordinate register, by using swizzling. to make it cleaner and easier for drivers we want each of them in its own register. so when doing compilation from the mesa IR to tgsi allocate new registers for both and add new semantics to the respective declarations.
2009-06-29st/mesa: enable GL_ARB_framebuffer_objectBrian Paul
All gallium drivers should be able to support mixed-size color/depth/stencil buffers. If not, we'll need a new PIPE_CAP_ query.
2009-06-29mesa: alphabetize linesBrian Paul
2009-06-26st/mesa: query PIPE_CAP_TGSI_CONT_SUPPORTEDBrian Paul
2009-06-19Always free image offsets memory when re-initializing texture image fields.Michel Dänzer
Fixes leak running compiz with direct rendering.
2009-06-17mesa: rework viewport/scissor initialization codeBrian Paul
The first time a context is bound to a drawable, the viewport and scissor bounds are initialized to the buffer's size. This is actually a bit tricky. A new _mesa_check_init_viewport() function is called in several places to check if the viewport has been initialized. We also use a new ctx->ViewportInitialized flag instead of the overloaded ctx->FirstTimeCurrent flag.
2009-06-26Merge branch 'arb_vertex_array_object'Brian Paul
2009-06-26Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: Makefile src/gallium/drivers/softpipe/sp_screen.c src/mesa/main/version.h
2009-06-22st/mesa: alphabetize linesBrian Paul
2009-06-22st/mesa: enable GL_ARB_vertex_array_objectBrian Paul
2009-06-19st/mesa: restore some parameter checking buffer object functionsBrian Paul
These functions may be called from the VBO code (not just user GL calls) so do some parameter sanity checking.
2009-06-19st/mesa: remove redundant st_buffer_object::size field and error checksBrian Paul
Just use the gl_buffer_object::Size field. Remove unnecessary size/offset error checks. Core Mesa will have already done these checks before these functions are called.
2009-06-19st/mesa: no longer special-case buffer object 0 in st_buffer_object() cast ↵Brian Paul
wrapper Since commit 6629a35559ff7e3b993966f697f7c7f68e5a38d9 "mesa: create/destroy buffer objects via driver functions" this is no longer needed, and actually was causing a crash during context tear-down.
2009-06-19Merge branch 'ext-provoking-vertex'Brian Paul
Conflicts: docs/relnotes-7.6.html progs/tests/Makefile src/gallium/drivers/softpipe/sp_prim_vbuf.c src/glx/x11/indirect.c src/mesa/glapi/Makefile src/mesa/glapi/dispatch.h src/mesa/glapi/glapioffsets.h src/mesa/glapi/glapitable.h src/mesa/glapi/glapitemp.h src/mesa/glapi/glprocs.h src/mesa/main/dlist.c src/mesa/main/enums.c src/mesa/sparc/glapi_sparc.S src/mesa/x86-64/glapi_x86-64.S src/mesa/x86/glapi_x86.S
2009-06-15Merge branch 'arb_map_buffer_range'Brian Paul
Conflicts: docs/relnotes-7.6.html src/mesa/main/mtypes.h
2009-06-24Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/i915/i915_tex_layout.c src/mesa/drivers/dri/i965/brw_wm_glsl.c src/mesa/drivers/dri/intel/intel_buffer_objects.c src/mesa/drivers/dri/intel/intel_pixel_bitmap.c src/mesa/drivers/dri/intel/intel_pixel_draw.c src/mesa/main/enums.c src/mesa/main/texstate.c src/mesa/vbo/vbo_exec_array.c
2009-06-22st/mesa: fix setup_edgeflags() regressionBrian Paul
stobj is now non-null for the default/null buffer object. Update the test to check the buffer ID to see if it's a real buffer object.