summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: silence uninitialized var warningsBrian Paul2009-09-031-2/+2
|
* st/mesa: fix glCopyPixels(GL_STENCIL_INDEX) inverted positionBrian Paul2009-09-031-0/+4
| | | | | If the renderbuffer orientation is Y=0=TOP we need to invert the dstY position.
* st/mesa: Do GL_RGBA->GL_RGB texsubimage on hardwareKeith Whitwell2009-09-021-14/+51
| | | | | | | | | | | | State tracker currently backs GL_RGB textures with RGBA almost always. This means we need to maintain A==1 in these textures to give correct GL_RGB sampling results. This change offloads the RGBA->RGB copy to hardware using the new writemask version of u_blit_pixels. More src/dstLogical/dstActual triples could be shifted to hardware by this technique in future patches.
* st/mesa: flush bitmap cache if Z value changesBrian Paul2009-08-211-5/+11
| | | | | | | When adding a new bitmap to the cache we have to check if the Z value is changing and flush first if it is. This is a modified version of a patch from Justin Dou <[email protected]>
* st/mesa: implement BlitFramebuffer() for depth/stencil (incomplete)Brian Paul2009-08-051-29/+80
| | | | | | We now handle the case of blitting Z+stencil to/from combined Z/stencil surfaces. But Z-only or stencil-only and separate depth/stencil surfaces are not yet implemented.
* st/mesa: fix Y inversion and optimize st_BlitFramebuffer()Brian Paul2009-08-051-3/+25
| | | | | | | | | Need to check for Y inversion separately for src/dest buffers. If both the src and dest regions are upside down, make them right-side up for a better chance at a fast path. progs/tests/copypixrate -blit is much faster now.
* st/mesa: we don't support GL_NV_point_sprite (see comment)Brian Paul2009-08-031-1/+3
|
* mesa/st: short-circuit glFinish calls on WIN32 onlyKeith Whitwell2009-07-291-0/+12
| | | | | | | | | | 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.
* mesa/st: recognize no-op scissor state when checking clear_with_quadsKeith Whitwell2009-07-291-4/+20
| | | | | 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.
* st/mesa: silence warningBrian Paul2009-07-271-1/+2
|
* mesa: Fix logbase2.José Fonseca2009-07-161-7/+5
| | | | It was providing 1 too many for non power two values.
* mesa: Report the true face number when flushing.José Fonseca2009-07-141-3/+8
|
* gallium: compare the actual register, not all the inputsZack Rusin2009-07-111-1/+1
| | | | otherwise we decrement indexes for all registers
* st/mesa: implement indirect addressing for destination registersBrian Paul2009-07-101-0/+5
|
* gallium: fixup register indexes for fog/frontface/point coordZack Rusin2009-07-071-3/+12
|
* gallium: Fixes for clobbering stencil values in combined depth/stencil textures.Michel Dänzer2009-07-072-10/+37
| | | | | Also fix one case where a 32 bit depth value was incorrectly converted to a combined depth/stencil value.
* gallium: Only set FRONT_STATUS_COPY_OF_BACK if there is a back buffer.Michel Dänzer2009-07-071-1/+2
| | | | Fixes potential crash when SwapBuffers is called but there's no back buffer.
* gallium: more fog extraction fixesZack Rusin2009-07-063-25/+39
| | | | | fix the cases when fog coord/front face/point coord are used in the same shader.
* mesa: Assume depth textures have a single level unless told otherwise.José Fonseca2009-07-021-1/+3
|
* st/gl: Add stubs for CompressedTexSubImage[1D|3D]Jakob Bornecrantz2009-06-301-0/+27
|
* st/gl: Add support for glCompressedTexSubImageJakob Bornecrantz2009-06-301-0/+58
|
* mesa: Unbind depth/stencil surface from pipe_framebuffer when none is attached.José Fonseca2009-07-011-0/+2
|
* gallium: fix the front face semanticsZack Rusin2009-07-013-4/+45
| | | | | | | | 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.
* mesa: Set FLUSH_EXPLICIT_BIT flags when calling FlushMappedBufferRange.José Fonseca2009-06-301-0/+3
| | | | As prescribed by ARB_map_buffer_range.
* st/mesa: query PIPE_CAP_TGSI_CONT_SUPPORTEDBrian Paul2009-06-261-0/+5
|
* Always free image offsets memory when re-initializing texture image fields.Michel Dänzer2009-06-191-3/+0
| | | | Fixes leak running compiz with direct rendering.
* mesa: rework viewport/scissor initialization codeBrian Paul2009-06-172-22/+4
| | | | | | | | | | 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.
* mesa: rework vertex shader output / fragment shader input attribute matchingBrian Paul2009-06-111-20/+33
| | | | | | | | | | | | | | | | | | | | Before, if a vertex shader's outputs didn't exactly match a fragment shader's inputs we could wind up with invalid TGSI shader declarations. For example: Before patch: DCL OUT[0], POSITION DCL OUT[1], COLOR[1] DCL OUT[2], GENERIC[0] DCL OUT[3], GENERIC[0] <- note duplicate [0] DCL OUT[4], GENERIC[2] After patch: DCL OUT[0], POSITION DCL OUT[1], COLOR[1] DCL OUT[2], GENERIC[0] DCL OUT[3], GENERIC[1] DCL OUT[4], GENERIC[2]
* mesa: Use new pf_is_depth_and_stencil inline.José Fonseca2009-06-111-16/+2
|
* mesa: Use PIPE_TEXTURE_USAGE_DEPTH_STENCIL for any depth or stencil format.José Fonseca2009-06-112-7/+11
|
* mesa: Remove dead code.José Fonseca2009-06-111-3/+0
|
* st/mesa: fix typo s/BFC0/BFC1/Brian Paul2009-06-111-2/+2
|
* mesa: Only do read write when we don't have a depth value to writeJakob Bornecrantz2009-06-111-1/+1
|
* mesa: Take the format from the right structure.José Fonseca2009-06-111-1/+1
|
* meas: Use a read/write transfer when writing stencil component, but not ↵José Fonseca2009-06-111-2/+23
| | | | touching the depth component.
* mesa: Reverse s8z24 into z24s8 as required by EXT_packed_depth_stencil.José Fonseca2009-06-101-2/+7
| | | | | | Actually, after spotting this problem, I realized this is unreachable code. However don't bother to enable this fast path now, given the normal path is working just fine.
* mesa: Fix draw_stencil_pixels for PIPE_FORMAT_Z24S8_UNORM.José Fonseca2009-06-101-1/+1
| | | | | | | Reversed component order. This fixes glean depthStencil test failures for PIPE_FORMAT_Z24S8_UNORM visuals.
* mesa: Single precision constants.José Fonseca2009-06-101-2/+2
|
* mesa: Pure software accum buffer.José Fonseca2009-06-104-234/+187
| | | | | | | | | | The existing implementation was already implemented on software, but relied on the pipe driver to always support the R16G16B16A16_SNORM format. This patch eliminates that, without prejudice against a future hardware-only implementation. It also avoids some of the short <-> float conversions, and only does a read transfer of the color buffer on GL_RETURN if absolutely necessary.
* mesa/st: fix tracking of mapped buffer rangesKeith Whitwell2009-06-091-1/+1
| | | | | In st_bufferobj_map_range(), set obj->Offset consistently with its usage elsewhere.
* st/mesa: fix incorrect bufObj Length assignment, remove unneeded assertionBrian Paul2009-06-081-2/+1
|
* st/mesa: remove invalid assertionBrian Paul2009-06-081-3/+0
| | | | | | It's legal for ARB_vertex_program programs to not write to result.position. The results are undefined in that case. This assertion was causing us to abort/exit though.
* mesa: Allocate tokens from the heap.José Fonseca2009-06-081-18/+22
| | | | | | | | | | | The recent increase ST_MAX_SHADER_TOKENS to 8K causes stack overflows on windows. Failure to allocate is not being propagated to the caller. This is not a regression since the previous _mesa_malloc result wasn't being checked as well. Unfortunately it is not easy to fix, as the callers of these functions do not have failure propagation mechanism either, and so on. So leaving a just fixme note for now.
* st/mesa: increase ST_MAX_SHADER_TOKENS to 8kBrian Paul2009-06-041-1/+1
|
* mesa/st: restore flush to copy_texsubimage (was previously finish)Keith Whitwell2009-06-011-0/+3
| | | | Need a flush here even though the original finish was overkill.
* st/gl: Fix mip gen for compressed texturesJakob Bornecrantz2009-06-011-6/+8
|
* st/mesa: fix incorrect sprite origin when drawing to FBO/textureBrian Paul2009-06-011-1/+2
| | | | | | | Need to take the draw buffer's up/down orientation into consideration when setting the sprite_coord_mode field. Fixes inverted sprites when drawing into an FBO.
* mesa: Check/propagate return value on st_make_current.José Fonseca2009-05-302-8/+11
| | | | | Prevents segmentation fault when trying to set the viewport/scissor after a context/drawable visual mismatch.
* st/mesa: fix incorrect src/dst stride params to _mesa_generate_mipmap_level()Brian Paul2009-05-181-2/+6
| | | | The stride needs to be in texels, not bytes.
* st: fix incorrect target parameter to screen->is_format_supported()Brian Paul2009-05-181-1/+1
| | | | We were passing a GL texture target instead of a pipe_texture_target enum.