summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
Commit message (Collapse)AuthorAgeFilesLines
* r600g: move all invariant state from draw_vbo into start_csMarek Olšák2012-02-217-20/+35
|
* r600g: turn init_config into a command buffer for starting a CSMarek Olšák2012-02-2110-479/+379
| | | | | | | | | | | This is the first pure command buffer. It contains CS initialization packets and emits invariant state (i.e. the registers which never or rarely change). The affected registers are removed from *_hw_context.c, so that both ways of emitting commands can co-exist. v2: emit context_control in cayman's start_cs too
* gallium: remove unused winsys pointers in pipe_screen and pipe_contextMarek Olšák2012-02-211-2/+0
| | | | A winsys is already a private object of a driver.
* r600g: remove the workaround for quads and provoking vertexMarek Olšák2012-02-165-33/+25
|
* r600g: remove redundant r600_context::vs_so_stride_in_dwMarek Olšák2012-02-163-4/+1
|
* r600g: Use a fake reloc to sleep for fencesSimon Farnsworth2012-02-142-2/+24
| | | | | | | | | | | | | | r300g is able to sleep until a fence completes rather than busywait because it creates a special buffer object and relocation that stays busy until the CS containing the fence is finished. Copy the idea into r600g, and use it to sleep if the user asked for an infinite wait, falling back to busywaiting if the user provided a timeout. Note: this is a candidate for the stable branches. Signed-off-by: Simon Farnsworth <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* r600g: consolidate set_blend_color codeMarek Olšák2012-02-144-40/+23
|
* r600g: consolidate more translate functionsMarek Olšák2012-02-144-140/+74
|
* r600g: inline r600_translate_ds_funcMarek Olšák2012-02-142-16/+4
|
* r600g: remove unused variableMarek Olšák2012-02-141-2/+0
|
* r600g: consolidate some translate functionsMarek Olšák2012-02-144-84/+44
|
* Revert "r600g: don't advertise integer textures without GLSL 1.3"Marek Olšák2012-02-142-8/+0
| | | | | | This reverts commit 2c06bcb90982280e82a044b8be83be8fdf5a9590. It breaks u_blitter trying to blit compressed textures as uint.
* r600g: don't advertise integer textures without GLSL 1.3Marek Olšák2012-02-142-0/+8
|
* r600g: 128 bit formats require tile_type = 1 on caymanAlex Deucher2012-02-101-0/+10
| | | | | | | | Noticed by taiu on IRC. Signed-off-by: Alex Deucher <[email protected]> Note: this is a candidate for the stable branches.
* r600g: fix tex tile_type offset for caymanAlex Deucher2012-02-102-1/+7
| | | | | | | | Noticed by taiu on IRC. Signed-off-by: Alex Deucher <[email protected]> Note: this is a candidate for the stable branches.
* gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTIONChristoph Bumiller2012-02-091-0/+1
| | | | | | | Just let the hardware do it if it can and avoid drivers having to check for the special case on each draw call. v2: update the draw module
* r600g: fix handling of outputs as TEX addr sourcesChristian König2012-02-081-1/+2
| | | | | | | | Outputs should be treated in the same way as inputs and temporaries here. Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: remove unused vars to silence warningsBrian Paul2012-02-071-2/+0
|
* scons: r300/r600 now depends on libdrm.José Fonseca2012-02-071-0/+2
| | | | As they now indirectly include on libdrm/radeon_surface.h.
* r600g: add support for common surface allocator for tiling v13Jerome Glisse2012-02-068-123/+739
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tiled surface have all kind of alignment constraint that needs to be met. Instead of having all this code duplicated btw ddx and mesa use common code in libdrm_radeon this also ensure that both ddx and mesa compute those alignment in the same way. v2 fix evergreen v3 fix compressed texture and workaround cube texture issue by disabling 2D array mode for cubemap (need to check if r7xx and newer are also affected by the issue) v4 fix texture array v5 fix evergreen and newer, split surface values computation from mipmap tree generation so that we can get them directly from the ddx v6 final fix to evergreen tile split value v7 fix mipmap offset to avoid to use random value, use color view depth view to address different layer as hardware is doing some magic rotation depending on the layer v8 fix COLOR_VIEW on r6xx for linear array mode, use COLOR_VIEW on evergreen, align bytes per pixel to a multiple of a dword v9 fix handling of stencil on evergreen, half fix for compressed texture v10 fix evergreen compressed texture proper support for stencil tile split. Fix stencil issue when array mode was clear by the kernel, always program stencil bo. On evergreen depth buffer bo need to be big enough to hold depth buffer + stencil buffer as even with stencil disabled things get written there. v11 rebase on top of mesa, fix pitch issue with 1d surface on evergreen, old ddx overestimate those. Fix linear case when pitch*height < 64. Fix r300g. v12 Fix linear case when pitch*height < 64 for old path, adapt to libdrm API change v13 add libdrm check Signed-off-by: Jerome Glisse <[email protected]>
* vl: add interlacing capabilitiesChristian König2012-02-061-0/+6
| | | | | | | Let the driver control interlaced or progressive format of video buffers. Signed-off-by: Christian König <[email protected]>
* r600g: shorten expressions accessing family and chip_classMarek Olšák2012-01-313-19/+19
|
* r600g: remove unused variable num_dest_buffersMarek Olšák2012-01-313-5/+0
|
* r600g: use the new code for streamout flush as wellMarek Olšák2012-01-311-11/+6
|
* r600g: rename r600_reg::flush_flags -> sbu_flagsMarek Olšák2012-01-313-4/+4
| | | | There is no other use for that.
* r600g: fix computation of how many dwords is needed for a flush at the end of CSMarek Olšák2012-01-312-11/+4
|
* r600g: remove unused r600_reg::flush_maskMarek Olšák2012-01-313-1179/+1176
|
* r600g: remove more dead codeMarek Olšák2012-01-312-9/+0
|
* r600g: remove dead code for tracking relocationsMarek Olšák2012-01-314-32/+1
|
* r600g: remove unused flush codeMarek Olšák2012-01-312-40/+0
|
* r600g: rework cache flushingMarek Olšák2012-01-319-190/+193
| | | | | | | | | | | This also significantly improves the RV670 flush by using the CB1 flush *always* and also DEST_BASE_0_ENA, which appears to magically fix some tests. I am not entirely sure, but it's possible that RV670 flushing is fixed completely. v2: fix cayman by flushing texture cache instead of vertex cache Thanks to Dave Airlie for testing Cayman.
* r600g: add a new simple API for state emissionMarek Olšák2012-01-314-0/+54
|
* r600g: remove redundant pm4 and pm4_cdwords in r600_contextMarek Olšák2012-01-313-215/+234
| | | | These only mirrored radeon_winsys_cs.
* r600g: consolidate some context_draw codeMarek Olšák2012-01-315-56/+23
|
* r600g: remove the now-useless internal flush callbackMarek Olšák2012-01-313-6/+1
|
* r600g: don't initialize the screen and winsys pointer twiceMarek Olšák2012-01-314-14/+8
|
* r600g: merge r600_context with r600_pipe_contextMarek Olšák2012-01-3118-296/+291
| | | | The split made no sense.
* r600g: remove u8,u16,u32,u64 typesMarek Olšák2012-01-3110-61/+56
|
* r600g: get rid of r600_context_regMarek Olšák2012-01-312-30/+0
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use r600_context_reg on r6xx-r7xxMarek Olšák2012-01-315-23/+47
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use r600_context_reg on evergreenMarek Olšák2012-01-316-14/+23
| | | | | | | Just getting rid of things which use the register mask. Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: get rid of the mask in r600_pipe_regMarek Olšák2012-01-313-9/+2
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: get rid of the mask parameter in pipe_state_add_regMarek Olšák2012-01-314-478/+478
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use register mask for TA_CNTL_AUXMarek Olšák2012-01-311-12/+8
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use register mask for PA_CL_CLIP_CNTLMarek Olšák2012-01-314-22/+19
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use register mask for PA_CL_VS_OUT_CNTLMarek Olšák2012-01-314-30/+15
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: set full register mask for PA_CL_CLIP_CNTLMarek Olšák2012-01-312-6/+2
| | | | | | | We don't set the other bits anywhere else. Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use register mask for PA_SU_SC_MODE_CNTLMarek Olšák2012-01-314-35/+40
| | | | | | | It's always emitted in draw_vbo. Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't add PA_SC_LINE_STIPPLE to rasterizer_stateMarek Olšák2012-01-314-19/+11
| | | | | | | It's always emitted in draw_vbo. Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* r600g: don't use register mask for CB_COLOR_CONTROL on r6xx-r7xxMarek Olšák2012-01-313-7/+17
| | | | | Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Alex Deucher <[email protected]>