summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/softpipe/sp_quad_depth_test.c
AgeCommit message (Collapse)AuthorFilesLines
2016-03-31softpipe: add support for explicit early depth testingDave Airlie1-2/+2
ARB_shader_image_load_store adds support for explicit early depth testing. However we need to make sure we don't overwrite values using the shader written values in this case. This fixes early depth testing in softpipe to conform with those requirements. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2015-12-11softpipe: implement some support for multiple viewportsEdward O'Callaghan1-2/+3
Mostly related to making sure the rasterizer can correctly pick out the correct scissor box for the current viewport. Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
2014-06-11softpipe: add layered rendering support.Dave Airlie1-1/+1
This adds support for GL 3.2 layered rendering to softpipe. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-06-11softpipe: add layering to the surface tile cache.Dave Airlie1-1/+1
This adds the layer info to the tile cache. This changes clear_flags to be dynamically allocated as MAX_LAYERS seems like a too big step. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-06-11softpipe: add depth clamping support. (v2)Dave Airlie1-5/+29
This passes the piglit depth clamp tests. this is required for GL 3.2. v2: move min/max up one level, could go further, thanks to Roland for suggestion. v1: Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-01-17s/Tungsten Graphics/VMware/José Fonseca1-1/+1
Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the old copyright name is creating unnecessary confusion, hence this change. This was the sed script I used: $ cat tg2vmw.sed # Run as: # # git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed # # Rename copyrights s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g /Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./ s/TUNGSTEN GRAPHICS/VMWARE/g # Rename emails s/alanh@tungstengraphics.com/alanh@vmware.com/ s/jens@tungstengraphics.com/jowen@vmware.com/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g s/keithw\?@tungstengraphics.com/keithw@vmware.com/g s/michel@tungstengraphics.com/daenzer@vmware.com/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/zack@tungstengraphics.com/zackr@vmware.com/ # Remove dead links s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g # C string src/gallium/state_trackers/vega/api_misc.c s/"Tungsten Graphics, Inc"/"VMware, Inc"/ Reviewed-by: Brian Paul <brianp@vmware.com>
2013-07-12tgsi: rename the TGSI fragment kill opcodesBrian Paul1-1/+1
TGSI_OPCODE_KIL and KILP had confusing names. The former was conditional kill (if any src component < 0). The later was unconditional kill. At one time KILP was supposed to work with NV-style condition codes/predicates but we never had that in TGSI. This patch renames both opcodes: TGSI_OPCODE_KIL -> KILL_IF (kill if src.xyzw < 0) TGSI_OPCODE_KILP -> KILL (unconditional kill) Note: I didn't just transpose the opcode names to help ensure that I didn't miss updating any code anywhere. I believe I've updated all the relevant code and comments but I'm not 100% sure that some drivers had this right in the first place. For example, the radeon driver might have llvm.AMDGPU.kill and llvm.AMDGPU.kilp mixed up. Driver authors should review their code. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2012-01-30gallium: Prefix #defines in tgsi_exec.h with TGSI_Tom Stellard1-52/+52
2012-01-03softpipe: remove the 32bits limitation on depth(-stencil) formatsMorgan Armand1-1/+43
This patch remove the 32bits limitation. As a side effect, it bring the support for the GL_ARB_depth_buffer_float extension. No regression have been found on piglit, and all tests for GL_ARB_depth_buffer_float pass successfully. Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-23softpipe: s/int/unsigned/ to be consistent in alpha test codeBrian Paul1-2/+2
2011-11-23softpipe: remove pointless break stmtBrian Paul1-1/+0
2011-10-11gallium: rename ZS stencil type to UINT (v2)Dave Airlie1-11/+11
these are never USCALED, always UINT in reality. taken from some work by Christoph Bumiller v2: fixup formatting of table + tabs Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-07-21Merge branch 'gallium-polygon-stipple'Brian Paul1-4/+6
2011-07-21softpipe: implement fragment shader variantsBrian Paul1-4/+6
We'll need shader variants to accomodate the new polygon stipple utility.
2011-07-06softpipe: add missing stencil format case in convert_quad_stencil()Brian Paul1-0/+1
Part of the fix for https://bugs.freedesktop.org/show_bug.cgi?id=38729 NOTE: This is a candidate for the 7.11 branch
2011-07-06softpipe: minor clean-ups in sp_quad_depth_test.cBrian Paul1-5/+5
2010-11-09softpipe: can't no-op depth test stage when occlusion query is enabledBrian Paul1-0/+1
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=31479
2010-10-13softpipe: add support for shader stencil export capabilityDave Airlie1-8/+53
this allows softpipe to be used to test shader stencil ref exporting. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-20softpipe: fix whitespaceLuca Barbieri1-2/+2
2010-09-20softpipe: make z/s test always pass if no zsbuf, instead of crashingLuca Barbieri1-2/+6
D3D10 specifies this.
2010-07-21softpipe: add missing support for PIPE_FORMAT_S8_USCALED surfacesBrian Paul1-20/+20
And remove checks of surface depth bits. The state tracker should not turn on depth/stencil testing if the framebuffer doesn't have depth/stencil.
2010-04-18softpipe: new comment and assertion for face valueBrian Paul1-0/+3
2010-03-30gallium: adapt all code to the renamed depth/stencil formatsRoland Scheidegger1-6/+6
2010-03-23softpipe: comments, re-formatting, etcBrian Paul1-14/+24
2010-03-23softpipe: add special cases for all Z compare modes for 16-bit Z bufferBrian Paul1-173/+48
We had fast paths for PIPE_FUNC_LESS and LEQUAL before. To satisfy OpenGL invariance rules, all depth compare modes should produce the same fragment Z values. Fixes progs/demos/singlebuffer.c
2010-03-02softpipe: Rename pipe formats.José Fonseca1-12/+12
2010-02-18softpipe: fix depth testing problemsBrian Paul1-36/+53
The optimized Z-test functions assumed that the array of incoming quads are adjacent, but that's not always true. The fragment shader can cull intermediate quads, for example. Now these Z-test functions can cope with non-adjacent quads. A little bit of performance is probably lost, but it's probably not worth worring about. This fixes broken glBitmap() Z testing, among other things. (cherry picked from commit d437d905e6924ebc05ec9efe87e1e2c48d75bc13)
2010-02-10softpipe: adapt to stencil ref changesRoland Scheidegger1-1/+1
2010-01-22Merge branch 'mesa_7_7_branch'Brian Paul1-4/+17
Conflicts: src/gallium/auxiliary/draw/draw_context.c src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c src/gallium/auxiliary/pipebuffer/Makefile src/gallium/auxiliary/pipebuffer/SConscript src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c src/gallium/auxiliary/tgsi/tgsi_scan.c src/gallium/drivers/i915/i915_surface.c src/gallium/drivers/i915/i915_texture.c src/gallium/drivers/llvmpipe/lp_setup.c src/gallium/drivers/llvmpipe/lp_tex_sample_c.c src/gallium/drivers/llvmpipe/lp_texture.c src/gallium/drivers/softpipe/sp_prim_vbuf.c src/gallium/state_trackers/xorg/xorg_dri2.c src/gallium/winsys/drm/intel/gem/intel_drm_api.c src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c src/gallium/winsys/drm/radeon/core/radeon_drm.c src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c src/mesa/state_tracker/st_cb_clear.c
2010-01-20softpipe: Remove unnecessary headers.Vinson Lee1-1/+0
2010-01-18softpipe: Skip depth testing for PIPE_S8_UNORM.José Fonseca1-1/+2
2009-09-22softpipe: need to write depth/stencil values even when stencil failsKeith Whitwell1-12/+10
2009-09-22softpipe: fix occlusion countingKeith Whitwell1-2/+17
2009-07-30softpipe: add depth-lequal z16 pathKeith Whitwell1-7/+100
2009-07-27softpipe: fastpath for interpolated z16 less depthtestingKeith Whitwell1-4/+139
Because this is interpolated (ie. early) depth, we can build in an assumption about the quads emitted by triangle setup, ie that they are actually linear spans. Interpolate z over those spans in z16 format to save on math & conversion.
2009-07-27softpipe: move all depth/stencil/alpha pixel processing into one stageKeith Whitwell1-115/+544
2009-07-24softpipe: expand quad pipeline to process >1 quad at a timeKeith Whitwell1-6/+17
This is part one -- we still only pass a single quad down, but the code can now cope with more. The quads must all be from the same tile.
2009-07-22softpipe: remove backwards dependency from tilecache to softpipeKeith Whitwell1-1/+1
The tile cache is a utility, it shouldn't know anything about the entity which is making use of it (ie softpipe). Remove softpipe parameter to all the tilecache function calls, and also remove the need to keep a softpipe pointer in the sampler structs.
2009-02-11softpipe: rename sp_headers.h to sp_quad.hBrian1-1/+1
This header describes the quad-related datatypes afterall.
2009-02-11softpipe: rename sp_quad.[ch] -> sp_quad_pipe.[ch]Brian1-1/+1
Be more consistant with 'draw' module.
2008-09-08softpipe: Split changing fields of quad_header into input, inout and output ↵Michal Krol1-26/+26
parts.
2008-08-24gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.hBrian Paul1-1/+1
Also, rename p_tile.[ch] to u_tile.[ch]
2008-08-07softpipe: add support for PIPE_FORMAT_X8Z24_UNORM, PIPE_FORMAT_Z24X8_UNORMBrian Paul1-0/+14
2008-05-30gallium: fix some PIPE_FORMAT_Z24S8_UNORM bugs in softpipe driverBrian Paul1-1/+1
2008-03-10gallium: WinCE portability fixes.José Fonseca1-1/+1
2008-02-15Code reorganization: move files into their places.José Fonseca1-0/+276
This is in a separate commit to ensure renames are properly preserved.