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
|