9e1aa81dfeced2381aa0df73758dd76f2722d857 |
|
27-Dec-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium/radeon: prevent SDMA stalls by detecting RAW hazards in need_dma_space Call r600_dma_emit_wait_idle only when there is a possibility of a read-after-write hazard. Buffers not yet used by the SDMA IB don't have to wait. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
9e62012c30812091e5400d449869f5022ac945ca |
|
26-May-2016 |
Marek Olšák <marek.olsak@amd.com> |
r600g: only do necessary cache flushes in cp_dma_clear_buffer The main impact is that fast color clear doesn't flush TC, CONST, DB. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Tested-by: Grazvydas Ignotas <notasas@gmail.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
5ea5ed60500a8612166853975b42abd40a459216 |
|
26-May-2016 |
Marek Olšák <marek.olsak@amd.com> |
r600g: fix CP DMA hazard with index buffer fetches (v3) v3: use PFP_SYNC_ME on EG-CM only when supported by the kernel, otherwise use MEM_WRITE + WAIT_REG_MEM to emulate that Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Tested-by: Grazvydas Ignotas <notasas@gmail.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c23273532e711f3f0263bfff8bf8a0e733b90e12 |
|
06-May-2016 |
Nicolai Hähnle <nicolai.haehnle@amd.com> |
gallium/radeon: use radeon_emit Mostly generated using a sed-script, with manual fix-up for multi-line statements. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bb74152597de44ee877b8928587b1cece8b49656 |
|
28-Apr-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium/radeon: flush if DMA IB memory usage is too high This prevents IB rejections due to insane memory usage from many concecutive texture uploads. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
a512da36aed3a1c893b34681dec2dfd51d250ee5 |
|
26-Apr-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium/radeon: fix (S)DMA read-after-write hazards Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
6cc8f6c6a72b1aab7bb506deb220e04ae50d8c2b |
|
07-Nov-2015 |
Marek Olšák <marek.olsak@amd.com> |
gallium/radeon: inline the r600_rings structure Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
2edb0606397d16fe88d7b488285df379aaae5893 |
|
26-Sep-2015 |
Marek Olšák <marek.olsak@amd.com> |
gallium/radeon: tell the winsys the exact resource binding types Use the priority flags and expand them. This information will be used for debugging. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
7ff2991e344130c8eb6e4be0b146320b3f02c1e6 |
|
30-Aug-2015 |
Marek Olšák <marek.olsak@amd.com> |
gallium/radeon: rename r600_context_bo_reloc -> radeon_add_to_buffer_list this name should be easy to understand without other knowledge Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
05e7f7f4388bde882b7ce74124000a4d435affff |
|
22-Apr-2015 |
Zoë Blade <zoe@bytenoise.co.uk> |
Fix a few typos Reviewed-by: Francisco Jerez <currojerez@riseup.net>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
f6c392a2705322a01ff75d5bdc2c8f7df42b484b |
|
06-Aug-2014 |
Marek Olšák <marek.olsak@amd.com> |
r600g: use gpu_address from r600_resource Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
54690a5f3b113914224537ec14f88cf2fa9e6403 |
|
17-Mar-2014 |
Marek Olšák <marek.olsak@amd.com> |
r600g: use more appropriate names for async DMA functions *_dma_copy calls either *_dma_copy_buffer or *_dma_copy_tile. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
6c487ff3bd40acdfc553b328e8327bfa90c49340 |
|
17-Mar-2014 |
Marek Olšák <marek.olsak@amd.com> |
r600g: deobfuscate async DMA code Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
2c703ee8ad8a396e2daffa6fd005009d9ea987d6 |
|
16-Mar-2014 |
Marek Olšák <marek.olsak@amd.com> |
r600g: don't flush the gfx IB explicitly before doing DMA It's flushed by calling r600_context_bo_reloc. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
acf55e73252e46fa51378ef4b23c94a89902ae1c |
|
17-Mar-2014 |
Niels Ole Salscheider <niels_ole@salscheider-online.de> |
radeon: Move r600_need_dma_space to common code Signed-off-by: Niels Ole Salscheider <niels_ole@salscheider-online.de> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bee2b96b02161cf75cfe17f7d30d14f2b838423f |
|
20-Feb-2014 |
Marek Olšák <marek.olsak@amd.com> |
r600g,radeonsi: set priorities for relocations
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e4ef639a5700cff492fbddf7131d1cc9e52a2bb0 |
|
04-Dec-2013 |
Marek Olšák <marek.olsak@amd.com> |
r600g,radeonsi: fix initialized buffer range tracking for DMA, add comments The DMA functions modify dst_offset and size and util_range_add gets wrong values. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bba39d88046670bdd4db2ab1e7ba07b7e4ae277c |
|
28-Nov-2013 |
Marek Olšák <marek.olsak@amd.com> |
r600g,radeonsi: share flags has_cp_dma and has_streamout Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
373f8670d1c670003674e1eaa7c1f0cd823a0431 |
|
05-Oct-2013 |
Marek Olšák <marek.olsak@amd.com> |
Revert "r600g: only flush the caches that need to be flushed during CP DMA operations" This reverts commit 7948ed1250cae78ae1b22dbce4ab23aceacc6159. It caused graphical corruption. I've got no idea why. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70042 https://bugs.freedesktop.org/show_bug.cgi?id=68451 Conflicts: src/gallium/drivers/r600/evergreen_hw_context.c src/gallium/drivers/r600/r600_hw_context.c src/gallium/drivers/r600/r600_pipe.h
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
d5b23dfc1c07f98afe749053b9cb4b69829fe3d4 |
|
13-Aug-2013 |
Marek Olšák <marek.olsak@amd.com> |
r600g: move streamout state to drivers/radeon This streamout state code will be used by radeonsi. There are new structures r600_common_context and r600_common_screen. What is inherited by what is shown here: pipe_context -> r600_common_context -> r600_context pipe_screen -> r600_common_screen -> r600_screen The common structures reside in drivers/radeon. Currently they only contain enough functionality to be able to handle streamout. Eventually I'd like the whole pipe_screen implementation to be shared and some of the context stuff too. This is quite big, but most changes are because of the new structures and the fact r600_write_value is replaced by radeon_emit. Thanks to Tom Stellard for fixing the build for r600g/compute. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Tested-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
0d7f087483d014305ec96a84ce5a28355f843c86 |
|
16-Jul-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: use WAIT_3D_IDLE before using CP DMA I broke this with 7948ed1250cae78ae1b22dbce4ab23aceacc6159 for r700 at least.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
7948ed1250cae78ae1b22dbce4ab23aceacc6159 |
|
30-Jun-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: only flush the caches that need to be flushed during CP DMA operations This should increase performance if constant uploads are done with the CP DMA, because only the cache that needs to be flushed is flushed. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
1b40398d024d2ac5c8e8b78d0f4941e2a007de2c |
|
30-Jun-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: split INVAL_READ_CACHES into vertex, tex, and const cache flags also flushing any cache in evergreen_emit_cs_shader seems to be superfluous (we don't flush caches when changing the other shaders either) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
098316211ce65db79d00c5975fa30873426450a6 |
|
23-Jun-2013 |
Alex Deucher <alexander.deucher@amd.com> |
r600g: adjust flush flags (v3) 1. flush SH with read caches 2. add flag for DB flushes 3. add flag for CB flushes v2: flush all CBs, remove redundant emit_state variable. v3: Marek: also set the new flags in r600_context_flush, the CP dma functions, and texture_barrier, and rename them Signed-off-by: Marek Olšák <maraeo@gmail.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
5bbeae7a3d3be17d44b1bc851872a107a75c393b |
|
24-Apr-2013 |
Alex Deucher <alexander.deucher@amd.com> |
r600g: use CP DMA for buffer clears on evergreen+ Lighter weight then using streamout. Only evergreen and newer asics support embedded data as src with CP DMA. Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
ec7d775790bef929b15e4c82d68ccaaf92c9f6b7 |
|
03-Mar-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove r600_hw_context_priv.h, move the stuff to r600_pipe.h Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
1724ef8908bf969633048337d571c6b133770855 |
|
02-Mar-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove deprecated state management code It's nice to see so much code that did pretty much nothing go away. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
65cbf895670d2afb44d320fcc9d607f3c6c582ef |
|
02-Mar-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize pixel shader Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
63042af933eb97930077ad57b047ffa7abb0f6e0 |
|
28-Feb-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize vertex shader Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
89e2898e9ecfcf93c337b99542b06892a8e30cbe |
|
27-Feb-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: always map uninitialized buffer range as unsynchronized Any driver can implement this simple and efficient optimization. Team Fortress 2 hits it always. The DISCARD_RANGE codepath is not even used with TF2 anymore, so we avoid a ton of useless buffer copies. Tested-by: Andreas Boll <andreas.boll.dev@gmail.com> NOTE: This is a candidate for the 9.1 branch.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
8f192a3c9e4e2253e8cd68ebe84a2ab787e4ef36 |
|
27-Feb-2013 |
Marek Olšák <maraeo@gmail.com> |
r600g: cleanup deprecated register tables These registers are either already emitted elsewhere or moved to start_cs. Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e1598cb642334c809e6ec219d793e7bc85a213de |
|
29-Jan-2013 |
Jerome Glisse <jglisse@redhat.com> |
r600g: use uint64_t instead of unsigned long for proper 32bits cpu support Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
325422c49449acdd8df1eb2ca8ed81f7696c38cc |
|
07-Jan-2013 |
Jerome Glisse <jglisse@redhat.com> |
r600g: add async for staging buffer upload v2 v2: Add virtual address to dma src/dst offset for cayman Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bff07638a86d36ac826fb287214eda9ce31c02ad |
|
07-Jan-2013 |
Jerome Glisse <jglisse@redhat.com> |
r600g: add multi ring support with dma as first second ring v4 We keep track of ring emission order in a stack, whenever we need to flush we empty the stack in a fifo order. There is few helpers function for bo mapping and other ring activities that will make sure that the ring stack is properly flush and submitted. v2: fix st flush path, and other flush path to properly flush all rings if necessary v3: - improve name of ring helpers - make sure that each time a cs is gona be written it endup at top of the stack to avoid any issue such as : STACK[0] = dma (withbo A,B) STACK[1] = gfx (withbo C,D) Now if code try to emit a dma command relative to bo C or D it will start writting cmd stream into the cs and once it reach the point where it adds relocation it will flush. At that point the cs will have cmd that don't have proper relocation into the relocation buffer and kernel will just refuse to run. v4: - Drop the stack idea as it turn out there is no way to use it or benefit from it. Any time the driver start command on other ring, it always need to flush the previous ring. So make code simpler by not using a stack. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c5584e93b186bdec3d47c993db4c6461dcf6a75c |
|
06-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: move DB_SHADER_CONTROL into db_misc_state Also update the register value in more appropriate places than r600_update_derived_state. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
ef723613e017ba33e9d9568ae59eb9faab80aba2 |
|
05-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize depth-stencil-alpha state Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
711f3bae9d8bde9750448c23fde4a15efbcfacb5 |
|
05-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize rasterizer state Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
18a189188ab5f209942ccc85cb8aac51f419b591 |
|
05-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize scissor state The workaround for R600 lacking VPORT_SCISSOR_ENABLE has also been simplified. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
ab075de53baa9829780cc133e5ac06e5498a763c |
|
05-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize polygon offset state POLY_OFFSET_DB_FMT_CNTL is moved to the framebuffer state, because it only depends on the zbuffer format. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
a50edc8ed84c4c48c0dc8e1a079e8d5e8f1c3a0e |
|
05-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize fetch shader The state object is actually a buffer, it's literally a buffer containing the shader code. Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
faaba52aedf9807ced2ddfccc4133589a7bacd5f |
|
05-Oct-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize blend state This is not so trivial, because we disable blending if the dual src blending is turned on and the number of color outputs is less than 2. I decided to create 2 command buffers in the blend state object and just switch between them when needed, because there are other states unrelated to blending (like the color mask) and those shouldn't be changed (the old code had it wrong). Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
11e2a41b84829ce20d2ed963b6c8c9ab1adb5121 |
|
18-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: use CS helpers to emit streamout state Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
669bfaaa1e97d0f66a0e449a83ed6379e4503539 |
|
18-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove initialization of unused loop register tables Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
b71701d43e22078cff2316e9b23fe1654d8b278c |
|
18-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove now-unused SURFACE_BASE_UPDATE logic Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e3ecfecadaa4210168f7c850b89992307016bc64 |
|
18-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove unused CB registers from register lists Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c8b06dccff9cb89e20378664f3cbc202876a180f |
|
18-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize framebuffer state Tested on RS880, Evergreen and Cayman. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
1f5a7567e84fa3e861939dbbfd8f559e24a42e31 |
|
11-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: convert the remnants of VGT state into immediate register writes/atoms v4 v2: Group vgt register together to avoid lockup v3: Split multi primitive register and index bias register v4: Bump R600_NUM_ATOMS Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
150decffb4352a8290b149b10fba5f0ef5cd74fb |
|
10-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: emit the primitive type and associated regs only if the type is changed Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c56dca909a0dc1410301c48618768adf58023fe7 |
|
10-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: add clip_misc_state for clip registers emitted in draw_vbo Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
2b8d39bbfc111166105d7e06f6f6f908fea3d243 |
|
10-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize clip state Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
de89fe1e5de581df280df41170f411692c6ddf4a |
|
10-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize blend color Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
605fd0c14abf14ed500b95dc957d762726243df8 |
|
10-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize viewport state Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
63bf0f905ae9c8cc0dea9ebbde9dc59d83a3a94f |
|
10-Sep-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize stencil ref state Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
64db3cc6ad2d52dec46119e5b80030393cb60bf4 |
|
30-Aug-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: implement MSAA for Cayman Everything works except for blitting MSAA colorbuffers, which isn't so trivial on Cayman. It's a rarely-used feature anyway.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
a3d9d7ec79d6f7205fab2324e47d8ea185431de0 |
|
12-Aug-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: implement compression for MSAA colorbuffers for evergreen This adds the FMASK and CMASK buffers. They share the same resource with color data. COMPRESSION and FAST_CLEAR are always enabled if both FMASK and CMASK are allocated. We initialize the CMASK to a "compressed" state (not "fast cleared"), so that we can keep FAST_CLEAR enabled all the time. Both FMASK and CMASK must be present at the moment. If either one is missing, the other one is not used. v2: add cayman regs in the list Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
4b78df9c81f1ca8af2b750616de8ff440e99c3c1 |
|
09-Aug-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: implement MSAA rendering and texturing for evergreen and cayman
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
6517225078a6a56c9fb3c1ea9f310992e6400b77 |
|
22-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: implement alpha-to-coverage
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
2df399c34bb39122a45bdd5b430b48346542e1cb |
|
01-Aug-2012 |
Jerome Glisse <jglisse@redhat.com> |
r600g: atomize sampler state v2 Use atom for sampler state. Does not provide new functionality or fix any bug. Just a step toward full atom base r600g. v2: Split seamless on r6xx/r7xx into it's own atom. Make sure it's emited after sampler and with a pipeline flush before otherwise it does not take effect. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bc2f5fc01e678ecd19f921e5bc7bd55c131dde66 |
|
18-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: atomize alphatest state
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c26fadf195876271e559f844c1fc88effa6a60c1 |
|
15-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove unused code after conversion of sampler views
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e634651024d6507cf325999494a3e2630f3072c8 |
|
14-Jul-2012 |
Jerome Glisse <jglisse@redhat.com> |
r600g: fix DB decompression on evergreen Separated out of the hyperz patch by Marek with minor modifications. Signed-off-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
4fe74412cfdba9af6ce878aebbb0c367f19cbb4b |
|
07-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: move CB_SHADER_MASK setup into cb_misc_state Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
0ea76916e63f8fc556f5e8f5a46c196d317cd5ad |
|
07-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: move CB_TARGET_MASK setup into new cb_misc_state to remove some overhead from draw_vbo. This is a derived state. BTW, I've got no idea how compute interacts with 3D here, but it should use cb_misc_state, so that 3D and compute don't conflict. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
68bbfc1afe210d82acfb14a78b0fd8c436a8f78c |
|
01-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rework state emission of constant buffers Framerate in ipers: before: 43.6 FPS after: 46.6 FPS Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c76462b45f1e3a0aa2ee7971191e30e8a5f52015 |
|
30-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rework state emission of vertex buffers This reduces a little of CPU overhead. The idea is to translate pipe vertex buffers directly into the CS and not using any intermediate representations. Framerate in Torcs: before: 32.2 after: 34.6 Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
b4082f492b4b55df4c636445e47b97d1f1e4b5b2 |
|
21-Mar-2012 |
Alex Deucher <alexander.deucher@amd.com> |
r600g: add support for TN (trinity) APUs Note: this is a candidate for the stable branches. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
80e4d18f84748f903cea07b9bba2d519cfa4163a |
|
08-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
Revert "r600g: rework rasterizer discard for evergreen" I will use SX_MISC instead. This reverts commit 734792e83fdc526623d8fe0a60479648c936bd53. Conflicts: src/gallium/drivers/r600/evergreen_hw_context.c src/gallium/drivers/r600/evergreen_state.c src/gallium/drivers/r600/r600_hw_context.c src/gallium/drivers/r600/r600_pipe.h
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e363dd5c7d8ba40984d937ad7487abbb5be439bc |
|
05-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: replace atom_ prefix with _state and _cmd suffixes
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
330b6c85c961b32f704ce8ec7dbf8cb7fc0b80a8 |
|
05-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: cleanup includes
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
428146c14fed5b41e3da9e72488396f214b23b0d |
|
27-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: initialize VS_GS_OUT_PRIM_TYPE Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
734792e83fdc526623d8fe0a60479648c936bd53 |
|
24-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rework rasterizer discard for evergreen Implement it right using STRMOUT_CONFIG.RAST_STREAM. This fixes rasterizer discard with points and lines. This also adds another derived state. It's a combination of rasterizer discard and streamout enable. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
cd5d02bf51af370233f35604a69d07e70db11eaf |
|
25-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: make some scissor regs invariant on evergreen We only need one scissor for the framebuffer. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
2881d456a5dd267bf2291532c9d95b1d48e93c08 |
|
24-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rework scissor for evergreen VPORT_SCISSOR is the OpenGL scissor. How do I know? Because there are 16 of them just like GL4.1 has multiple scissor rectangles. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
5b84a8c3c3f85cd6b109861c6eebe3ece29d664e |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: cleanup magic numbers in set_xx_sampler Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
89293287b8f1a24c1405750007ca20bd32e02eab |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove duplicated evergreen_context_ps_partial_flush Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
84db8f9a2289f3ae7eb0af4825f4370e31e4ae11 |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove duplicated evergreen_context_pipe_state_set_sampler Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
edc0ce292b5a34ba1e2ef96c0b530fbf8428e67d |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove duplicated set_xx_resource functions Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
985bd5487edc974f1ed7a9c50456478d959b51e2 |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove duplicated function r600_state_sampler_init Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
cf59ed3f23e8ee72c044ec029127876cf27a4afa |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: fixup name of evergreen-specific function Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
9670e72f6ef85f0e6f6c9afe136dc67c017e3fae |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: consolidate common context init code Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
f841b8a833f32074c79724c66c85cdc7b48087e2 |
|
21-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: define GROUP_FORCE_NEW_BLOCK in common header Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
5d2de9232d3bee91a6df49d1558fa00995a235c5 |
|
08-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: move invariant register updates into start_cs for evergreen and cayman
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e2809849ecac69615ece294a55ee355afaac33d3 |
|
02-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: add a depth misc state which depends on occlusion queries This is a state which is derived from other states and is actually the first state which doesn't correspond to any gallium state. There are two state flags: bool occlusion_query_enabled bool flush_depthstencil_enabled Additional flags can be added later if needed, e.g. bool hiz_enabled. The emit function will have to figure out the register values by itself. It basically just emits the registers when the state changes. This commit also adds a few helper functions for writing registers directly into a command stream.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
8f5c172c854a52b2a69b8383a55c76f1faa5f704 |
|
02-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: consolidate the main draw code The code was almost the same for r600 and eg. What can't be consolidated is in the *_prepare functions.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
182fd4c54476ced92b61412b0cac5be32e257b53 |
|
02-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: move all invariant state from draw_vbo into start_cs
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
f126253040654d52db134063a69ebaf0c417d410 |
|
31-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: turn init_config into a command buffer for starting a CS 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
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
b0337b679ad4c2feae59215104cfa60b58a619d5 |
|
31-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: shorten expressions accessing family and chip_class
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
70d40fc6755a2e4b23c831143cb02133f30fbb02 |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rename r600_reg::flush_flags -> sbu_flags There is no other use for that.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
1c5625cdb96332a746c9eebe042a3a9dbe844351 |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove unused r600_reg::flush_mask
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
74027a9ba250f07a77ee40e105c50c27e4fc3bc0 |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove dead code for tracking relocations
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
0813e58a3e41faf6f2072d034dfdc6198a3a1fee |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rework cache flushing 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.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
621e0db71c5ddcb379171064a4f720c9cf01e888 |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove redundant pm4 and pm4_cdwords in r600_context These only mirrored radeon_winsys_cs.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
3b0467192057cc561b6d495d6445b2ed04fc3ebf |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: consolidate some context_draw code
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bc70bcfc6915883bd5c60712b70e9ed7e1d80ea8 |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: don't initialize the screen and winsys pointer twice
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e4340c1908a6a3b09e1a15d5195f6da7d00494d0 |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: merge r600_context with r600_pipe_context The split made no sense.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
78293b99b23268e6698f1267aaf40647c17d95a5 |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove u8,u16,u32,u64 types
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
b1b969f670c50a15110fd41527ccbc7e885e1cdd |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: don't use r600_context_reg on evergreen Just getting rid of things which use the register mask. Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c9cd170f2e076b096e8fed35eb464482053beb70 |
|
23-Jan-2012 |
Alex Deucher <alexander.deucher@amd.com> |
r600g: clean up register headers - CP_INTERRUPT packet doesn't exist - remove lots of r6xx copy/paste remnants from evergreen reg header - fix some cayman specific registers Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
54e8dcaad65cbe3603730414fd8d76ac53f89a86 |
|
20-Jan-2012 |
Vadim Girlin <vadimgirlin@gmail.com> |
r600g: implement clip vertex v2 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>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
c60dcc49e443eb1442b8f191e63078f2558eec31 |
|
18-Jan-2012 |
Vadim Girlin <vadimgirlin@gmail.com> |
r600g: fix streamout on evergreen Enable it in the evergreen_context_draw if needed. Same as already done in the r600_context_draw for r6xx/r7xx. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bb1f0cf3508630a9a93512c79badf8c493c46743 |
|
02-Dec-2011 |
Jerome Glisse <jglisse@redhat.com> |
r600g: add support for virtual address space on cayman v11 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>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
543b2331d7b45a29ccd3530daa2389e87e65d89b |
|
08-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: implement transform feedback 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.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
6a490149d9b8b77ead81b4227f2860ec22095217 |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: turn some CS overflow checks into assertions They're not really exhaustive and not so useful either.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
5222e16e2b611064c0add9eef7f56488c9b8fbe6 |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: put the rest of CS overflow checks in r600_need_cs_space
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
cb7c6c30d02ab46efc4ed711b2a632de50157347 |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: properly reserve CS space for queries_suspend
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
1d09831253b82374774daee772e90a83de17517a |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: reserve CS space for a draw command in begin_query and render_condition There's no point in emitting those if you can't emit a draw command too.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
11bdd28796e303eda70f1d73bd2469597bd561bc |
|
09-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: consolidate checking whether CS is full 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.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
391e33ffbf01180d66d4c4e9a6c91fc17f9feaca |
|
06-Nov-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: add initial linestipple support. It seems line loop stipple in hardware needs something I don't know, it might need a proper geometry shader who knows. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
b40edc63d7d272ac132fded52f3119f4780c7e6b |
|
29-Oct-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: shortcut ctx->screen->ws to ctx->ws
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bbad5103e61806ef6d6a0d5e53abc4b9e77a7fe9 |
|
28-Oct-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: get backend mask after the context is fully set up
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
e9b6f21a5054b2639a1dfc6401e4e9053dce5394 |
|
28-Oct-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: only maintain the list of active queries 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.
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|
bf0baa771709e1076613cf9f9bed6ac004dd0439 |
|
27-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: move all files from winsys/r600 into drivers/r600 Be sure to reconfigure after this commit. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/evergreen_hw_context.c
|