summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_hw_context.c
AgeCommit message (Collapse)AuthorFilesLines
2012-01-31r600g: merge r600_context with r600_pipe_contextMarek Olšák1-3/+0
The split made no sense.
2012-01-31r600g: remove u8,u16,u32,u64 typesMarek Olšák1-9/+9
2012-01-31r600g: get rid of r600_context_regMarek Olšák1-27/+0
Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-01-31r600g: don't use r600_context_reg on r6xx-r7xxMarek Olšák1-15/+25
Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-01-31r600g: get rid of the mask in r600_pipe_regMarek Olšák1-6/+2
Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2012-01-30r600g: remove unused streamout codeMarek Olšák1-29/+0
2012-01-30r600g: disable printing debug info for streamoutMarek Olšák1-1/+2
2012-01-27Revert "r600g: use S_028B20_BUFFER_0_EN macro for streamout buffer enable"Marek Olšák1-1/+1
This reverts commit d6cd514edbeca0de38561f66189748078d0dc602. It broke multiple streamout buffers, because it only enabled the first one.
2012-01-21r600g: implement clip vertex v2Vadim Girlin1-6/+15
Clip planes are uploaded as a constant buffer and used by the vertex shader to produce corresponding clip distances for hw clipping. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-01-20r600g: use S_028B20_BUFFER_0_EN macro for streamout buffer enableAlex Deucher1-1/+1
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2012-01-20r600g: update streamout support for virtual addressesAlex Deucher1-7/+18
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2012-01-15gallium: improve the pipe_stream_output_info struct (v2)Marek Olšák1-4/+4
There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
2012-01-13r600g: add support for virtual address space on cayman v11Jerome Glisse1-13/+34
Virtual address space put the userspace in charge of their GPU address space. It's up to userspace to bind bo into the virtual address space. Command stream can them be executed using the IB_VM chunck. This patch add support for this configuration. It doesn't remove the 64K ib size limit thought this limit can be extanded up to 1M for IB_VM chunk. v2: fix rendering v3: fix rendering when using index buffer v4: make vm conditional on kernel support add basic va management v5: catch the case when we already have va for a bo v6: agd5f: update on top of ioctl changes v7: agd5f: further ioctl updates v8: indentation cleanup + fix non cayman v9: rebase against lastest mesa + improvement from Marek & Michel v10: fix cut/paste bug v11: don't rely on updated radeon_drm.h Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2011-12-17r600g: implement transform feedbackMarek Olšák1-0/+335
r600: DONE. r700: MOSTLY (done but locks up). Evergreen: MOSTLY (done but doesn't work for an unknown reason). The kernel support will come soon.
2011-11-11r600g: don't set the query result to 0 after a call to get_query_resultMarek Olšák1-2/+0
get_query_result doesn't reset the result. Only begin_query does.
2011-11-11r600g: the type of OCCLUSION_PREDICATE result should be booleanMarek Olšák1-8/+11
2011-11-10r600g: implement PIPE_QUERY_OCCLUSION_PREDICATEMarek Olšák1-5/+21
2011-11-10r600g: flush the whole context when CS is full, not just hw_contextMarek Olšák1-1/+1
Because we disable render condition in r600_flush, but not in r600_context_flush.
2011-11-10r600g: turn some CS overflow checks into assertionsMarek Olšák1-6/+1
They're not really exhaustive and not so useful either.
2011-11-10r600g: put the rest of CS overflow checks in r600_need_cs_spaceMarek Olšák1-9/+8
2011-11-10r600g: flush caches regardless of render conditionMarek Olšák1-5/+5
What if somebody enables render condition just before we flush...
2011-11-10r600g: disable render condition at the end of CS, re-enable at the beginningMarek Olšák1-0/+5
2011-11-10r600g: don't suspend queries if they have already been suspended by blitterMarek Olšák1-2/+11
And add some assertions.
2011-11-10r600g: properly reserve CS space for queries_suspendMarek Olšák1-18/+12
2011-11-10r600g: reserve CS space for a draw command in begin_query and render_conditionMarek Olšák1-9/+17
There's no point in emitting those if you can't emit a draw command too.
2011-11-10r600g: consolidate checking whether CS is fullMarek Olšák1-25/+23
This adds a new function r600_need_cs_space. Currently, it's easy to overflow the CS - queries are not counted in. I guess that's not the only case where the driver may crap out.
2011-11-09r600g: cosmetic changes in query codeMarek Olšák1-6/+5
Mainly updating comments and removing one use of a magic number.
2011-11-09r600g: use modulo for computing index into query (ring) buffersMarek Olšák1-14/+5
2011-11-09r600g: make r600_query_result more genericMarek Olšák1-15/+37
We'll soon start adding new query types, maybe even querying more than one value per query.
2011-10-30r600g: shortcut ctx->screen->ws to ctx->wsMarek Olšák1-10/+11
2011-10-29r600g: remove one pointless flushMarek Olšák1-19/+2
It's not useful for anything. The rest of the patch is just a cleanup resulting from some of the variables being no longer used. There are no piglit regressions.
2011-10-28r600g: get backend mask after the context is fully set upMarek Olšák1-2/+0
2011-10-28r600g: don't flush before reading query resultsMarek Olšák1-5/+0
Taken care of by the winsys.
2011-10-28r600g: only maintain the list of active queriesMarek Olšák1-23/+10
And not all existing queries. The only reason we have that list is to be able to suspend and resume the active ones. This reduces looping over queries when suspending and resuming. The queries no longer have to track some of their states.
2011-10-28r600g: cleanup r600_query_resultMarek Olšák1-9/+6
2011-10-28r600g: don't flush in r600_get_backend_maskMarek Olšák1-3/+0
The winsys does the flush in buffer_map.
2011-10-28r600g: remove redundant variable r600_query::buffer_sizeMarek Olšák1-14/+17
2011-09-30r600g: fix a compiler warningMarek Olšák1-0/+1
2011-09-30r600g: move all files from winsys/r600 into drivers/r600Marek Olšák1-0/+1875
Be sure to reconfigure after this commit. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>