summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/i915/i915_state_static.c
Commit message (Collapse)AuthorAgeFilesLines
* i915g: Implement writemask fixupStéphane Marchesin2013-09-041-14/+14
| | | | | | | | | The fixup code emulates non-BGRA render targets by adding an extra instruction at the end of fragment shaders to swizzle the output. To do this, we also swizzle the blend function. However an oversight until now was that the writemask wasn't getting swizzled. This patch fixes that which fixes a bunch of piglit tests.
* i915g: Don't update I915_HW_PROGRAM in update_framebufferStéphane Marchesin2012-10-051-2/+2
| | | | It's already going to be updated in update_dst_buf_vars.
* i915g: Implement sRGB texturesStéphane Marchesin2012-06-261-1/+1
| | | | | | | | Since we don't have them in hw we emulate them in the shader. Although not recommended by the spec it is legit. As a side effect we also get GL 2.1. I think this is as far as we can take the i915.
* i915g: Fix the blending for the A8 destination buffer case.Stéphane Marchesin2012-01-151-4/+4
| | | | | | | | | The i915 GPU can't do A8 dst, so we abuse GREEN8 buffers for that purpose. However, things get hairy as we start to do blending, because then GL_DST_*_ALPHA should be replaced with GL_DST_*_COLOR. This is what we do here. Fixes piglt fbo-alpha.
* i915g: Turn an assert into a debug message, print more debug info for ↵Stéphane Marchesin2011-12-191-1/+2
| | | | | | missing depth swz. Also fix indentation a bit.
* i915g: don't set alpha to 1 for RGBX and BGRXVasily Khoruzhick2011-11-231-2/+1
| | | | | | | | This patch fixes regression introduced in 1f3c5eae5c4be582e50c2d4d7950424d86059c45 Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: implement RGBX and BGRX render targetsVasily Khoruzhick2011-11-221-2/+5
| | | | | | | | | | They're not supported by hw directly, but it's easy to emulate them with a shader swizzling fixup. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> [danvet: The important thing is to write a 1 to the unused alpha channel, the ddx is relying on this for render accel.] Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* gallium: rename ZS stencil type to UINT (v2)Dave Airlie2011-10-111-1/+1
| | | | | | | | | | 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>
* i915g: Silence warning.Stéphane Marchesin2011-10-081-1/+1
|
* i915g: make fixup swizzle into a real hw stateDaniel Vetter2011-10-071-0/+40
| | | | | | This way it can be reused in the fastclear path. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: Support PIPE_FORMAT_B10G10R10A2_UNORM.Stéphane Marchesin2011-06-281-0/+6
|
* i915g: Support more texture and render target formats.Stéphane Marchesin2011-06-221-1/+8
|
* i915g: fix braino in the static state reworkDaniel Vetter2011-03-151-1/+2
| | | | | | For mip-map level rendering, both draw offset and size tend to change ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: implement early zDaniel Vetter2011-03-151-20/+52
| | | | | | v2: Make it actually work. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: split up static stateDaniel Vetter2011-03-151-13/+21
| | | | | | | | Early Z support is set in the DST_VARS command. Hence split up static state emission to avoid reissuing to much on fragment shader changes, especially the costly dst buffer relocations. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: don't recalculate fb dimensionDaniel Vetter2011-03-121-28/+3
| | | | | | The statetracker should do this for us correctly. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: implement hw clearDaniel Vetter2011-03-101-0/+2
| | | | | | | | | | | | | | | Benefits: - spares us a relocation. - needed for zone rendering (if that ever happens). - just awesome. v2: Rename the debug option. Completely disabling the blitter is required for Y tiling to work, so this option will cover other code paths in the future. v3: Implement suggestions by Jakob Bornecrantz. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: split up hw state emission into small atomsDaniel Vetter2011-03-011-1/+1
| | | | Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: implement cache flushingDaniel Vetter2011-02-271-0/+3
| | | | | | | | | | | With an extremely dumb strategy. But it's the same i915c employs. Also improve the hw_atom code slightly by statically specifying the required batch space. For extremely variably stuff (shaders, constants) it would probably be better to add a new parameter to the hw_atom->validate function. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: cleanup static state calculation, part 2Daniel Vetter2011-02-271-0/+43
| | | | | | Now also for the DRAW_RECT command Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: cleanup static state calculation, part 1Daniel Vetter2011-02-271-1/+89
| | | | | | | Move it to i915_state_static.c This way i915_emit_state.c only emits state and doesn't (re)calculate it. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
* i915g: Remove unnecessary header.Vinson Lee2010-07-041-1/+0
|
* i915g: Move static state to its own fileJakob Bornecrantz2010-07-041-0/+48