summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i915
AgeCommit message (Collapse)Author
2011-03-10i915g: implement surface clear functions using hw-clearDaniel Vetter
Tested by temporarily using util_clear even when not using the blitter. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: make set_framebuffer_state more robustDaniel Vetter
u_blitter is lazy and doesn't fully clear it's stack-allocated fb. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: implement hw clearDaniel Vetter
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>
2011-03-10i915g: blitter handles overlapping blitsDaniel Vetter
No need to assert. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: enable separate depth/stencil clearsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: streamline derived state updates of the driver pipelineDaniel Vetter
Flushing the batch/hw backend doesn't invalidate the derived state. So kill the unnecessary function calls and add an assert in emit_hardware_state for paranoia. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-10i915g: don't validate a NULL vboDaniel Vetter
With the new clear code this is possible (if the app call glClear before drawing the first primitive). Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-08gallium: add timeout parameter to fence_finishMarek Olšák
This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
2011-03-06i915g: update TODODaniel Vetter
Comments about the deleted stuff: - openaren hang: likely caused by the vertex corruptions, fixed by Jakob. - tiling: Y-tiling works with my hw-clear branch. X-tiling works as merged to master a while ago (execbuf2 version). Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-05gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISORMarek Olšák
ARB_instanced_arrays is a subset of D3D9. ARB_draw_instanced is a subset of D3D10. The point of this change is to allow D3D9-level drivers to enable ARB_instanced_arrays without ARB_draw_instanced.
2011-03-05i915g: Use tgsi_info from fragment shader insteadJakob Bornecrantz
2011-03-04i915g: use passthough shader for empty fragment programsDaniel Vetter
The hw doesn't like it - demos/shadowtex is broken. The emitted shader isn't totally empty though, the depth write fixup gets emitted instead. Maybe that one is somewhat fishy, too? Idea for this patch from Jakob Bornecrantz. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01i915g: remove extra semicolonBrian Paul
2011-03-01i915g: kill relocs accoutingDaniel Vetter
No one ever cared. libdrm does dynamic resizing of its reloc-table, anyway. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01i915g: switch to the exact batch space reservation codeDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01i915g: split up hw state emission into small atomsDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-03-01i915g: fix i915_winsys_batchbuffer_writeDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27i915g: implement cache flushingDaniel Vetter
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>
2011-02-27i915g: buffer validation for blitterDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27i915g: buffer validation for render stateDaniel Vetter
Also contains the first few bits for hw state atoms. v2: Implement suggestion by Jakob Bornecrantz. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27i915g/winsys: buffer validation supportDaniel Vetter
v2: Add the batch bo to the libdrm validation lost, for otherwise libdrm won't take previously used buffers into account. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27i915g: cleanup static state calculation, part 2Daniel Vetter
Now also for the DRAW_RECT command Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-27i915g: cleanup static state calculation, part 1Daniel Vetter
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>
2011-02-26i915g: make dynamic state emission actually lazyDaniel Vetter
Premature semicolon. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-26i915g: Handle null constants properlyJakob Bornecrantz
2011-02-26i915g: fix null deref in draw_rect emissionDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-26i915g: simplify math in constants emissionDaniel Vetter
The old code even falls apart for nr == 0 (which is caught earlier, but)! Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-24i915g: Lazy emit dynamic stateJakob Bornecrantz
2011-02-24i915g: Lazy emit immediate stateJakob Bornecrantz
2011-02-24i915g: Disable LIS7 state updates for nowJakob Bornecrantz
2011-02-24i915g: Clean up in i915_state_immediateJakob Bornecrantz
2011-02-24i915g: Remove outdated commentJakob Bornecrantz
2011-02-24i915g: Enable mirror repeat wrap modeJakob Bornecrantz
2011-02-24i915g: Always set vbo to flush on flushesJakob Bornecrantz
Reported-by Chris Wilson <chris@chris-wilson.co.uk>
2011-02-22i915g: remove extra semicolonsBrian Paul
2011-02-21i915g: s/bool/boolean/ style-fixup in winsysDaniel Vetter
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-02-21i915g: Add option to lie about capsJakob Bornecrantz
2011-02-21i915g: Move debug fields to screenJakob Bornecrantz
2011-02-21i915g: Use debug get once optionsJakob Bornecrantz
2011-02-21i915g: Rework texture tiling a bitJakob Bornecrantz
2011-02-21i915g: Anisotropic filtering worksJakob Bornecrantz
2011-02-21i915g: TODO about point spritesJakob Bornecrantz
2011-02-21i915g: TODO about untested code hidden behind capsJakob Bornecrantz
Should be fairly easy to test and fix since you can look at the code in the classic driver.
2011-02-21i915g: Reorg capsJakob Bornecrantz
2011-02-21i915g: Add dummy flush_frontbufferJakob Bornecrantz
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-01-24i915g: Remove draw_flushes and state that we don't need to trackJakob Bornecrantz
2011-01-24i915g: Improve constant handlingJakob Bornecrantz
2011-01-21i915g: Don't (un)map vbuf on each (un)map callJakob Bornecrantz
2011-01-21i915g: Don't do unnecessary copies of constantsJakob Bornecrantz
Even tho st/mesa use user buffers for constants align buffers other state trackers doesn't use user buffers.