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/r600.h
|
ff9a49328e5d8b647aeb7511a01e5a41592a2799 |
|
18-Jul-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: inline r600_context_draw_opaque_count
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
3d3194e93cbfe0fc42dd96218e8e999f5ccfe726 |
|
26-Jun-2012 |
Tom Stellard <thomas.stellard@amd.com> |
r600g: Add r600_context_pipe_state_emit() This function is used when dispatching compute shader in order to avoid mixing compute and 3D registers in the context's dirty list. This allows the compute code to resuse 3D functions like evergreen_cb, which return a struct r600_pipe_state and still have control over when and how the register writes are emitted.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
e00e1586dd94c1bbcd1ecfd9649fde9281be1977 |
|
25-Jun-2012 |
Tom Stellard <thomas.stellard@amd.com> |
r600g: Add pkt_flag parameter to r600_context_block_emit_dirty() This allows the shader type bit to be set in the pm4 header when emitting registers for compute shaders. Reviewed-by: Marek Olšák <maraeo@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
e0773da1e897164ed7597437070e32b867734ee5 |
|
10-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
gallium: make user vertex buffers optional This couldn't be split because it would break bisecting. Summary: * r300g,r600g: stop using u_vbuf * r300g,r600g: also report that the FIXED vertex type is unsupported * u_vbuf: refactor for use in the state tracker * cso: wire up u_vbuf with cso_context * st/mesa: conditionally install u_vbuf
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
a52b3338c6e51421e3836ae210cd98d9c1ec337b |
|
10-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
u_vbuf: remove u_vbuf_resource
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
62b0323cf6af90aa2be89ec76ec3693213b0de5e |
|
23-Apr-2012 |
Dave Airlie <airlied@redhat.com> |
r600g: split add_reg into add_reg and add_reg_bo variants This shaves 2k off the final dri.so, and removes lots of pointless NULL, 0 passing. most like pointless - but it looked nicer to me. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
a633d82ce352a69fd54a2b0e262a91f27f478119 |
|
02-Apr-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove dead code after the rework Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
ead0a89c9661135d66e086bbe524f9623b00af5b |
|
29-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: cleanup after get_query_result change Finally, union r600_query_result can be removed.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
8a56ed8d6dc37c23d4695d0fc292d7bcc2976f08 |
|
05-Mar-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove unused definitions
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
83667acfd9feed932f6864092382e752466975ed |
|
23-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: move all query code into r600_query.c And rename or inline functions where appropriate. There is no reason to keep this stuff in r600_hw_context.c. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
df00dc3c817771ac5034a44dff2b14cd7759b207 |
|
22-Feb-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: rework queries We always mapped the query buffer in begin_query, causing stalls if the buffer was busy. This commit reworks it such that the query buffer is only mapped in get_query_result as it's supposed to be. The query buffer is no longer treated as a ring buffer. Instead, the results are just appended and when the buffer is full, we create a new one. One query can have more than one query buffer, though that's a very rare case. Begin_query releases all query buffers. Reviewed-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
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/r600.h
|
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/r600.h
|
6d0a011acbea90537d142c86b8dd5aecd1e14390 |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: fix computation of how many dwords is needed for a flush at the end of CS
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
0671400dcc72553b5f9719639e86069a1734dbe5 |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove more dead code
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
3b0467192057cc561b6d495d6445b2ed04fc3ebf |
|
30-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: consolidate some context_draw code
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
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/r600.h
|
78293b99b23268e6698f1267aaf40647c17d95a5 |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove u8,u16,u32,u64 types
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
85db52025189c88437f82369716ffe88429dc08b |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: don't use r600_context_reg on r6xx-r7xx Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
9344ab382a1765c1a7c2560e771485edf4954fe2 |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: get rid of the mask in r600_pipe_reg Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
4a058aebb2ce340d0e03434a8820fdf5853b971e |
|
29-Jan-2012 |
Marek Olšák <maraeo@gmail.com> |
r600g: get rid of the mask parameter in pipe_state_add_reg Reviewed-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
2449695e822421fdcaf1c66dffc12d7d705ea69d |
|
17-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
gallium: improve the pipe_stream_output_info struct (v2) 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
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
93f4e3cb6c1ca303ee1f5c2a2491a8eff33f2633 |
|
24-Dec-2011 |
Marek Olšák <maraeo@gmail.com> |
winsys/radeon: move managing GEM domains back to drivers This partially reverts commit 363ff844753c46ac9c13866627e096b091ea81f8. It caused severe performance drops in Nexuiz. Reported by Phoronix. Tested by me on r300g and by IRC people on r600g.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
fba685a0995e76f86af5920163297e5c3b32fb4b |
|
22-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
u_vbuf_mgr: rename to u_vbuf
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
72c1658554b2d1e90e687340c5db4fec939b3901 |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: the type of OCCLUSION_PREDICATE result should be boolean
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ec3d2c7f089e0a4750dc42f10da914b58858499e |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: flush the whole context when CS is full, not just hw_context Because we disable render condition in r600_flush, but not in r600_context_flush.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
cb7c6c30d02ab46efc4ed711b2a632de50157347 |
|
10-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: properly reserve CS space for queries_suspend
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
1b375f8413d898a18c989c20d0dc16d3b1be33bc |
|
08-Nov-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: cosmetic changes in query code Mainly updating comments and removing one use of a magic number.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
b40edc63d7d272ac132fded52f3119f4780c7e6b |
|
29-Oct-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: shortcut ctx->screen->ws to ctx->ws
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
7684808f9ce2da944be3ca9cc1ac4661d9b167fb |
|
28-Oct-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove one pointless flush 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.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
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/r600.h
|
6e79127e79e6ff80e3715a2190e437cfa92b4e96 |
|
28-Oct-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove redundant variable r600_query::buffer_size
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
363ff844753c46ac9c13866627e096b091ea81f8 |
|
27-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
winsys/radeon: move GEM domains out of the drivers into winsys The drivers don't need to care about the domains. All they need to set are the bind and usage flags. This simplifies the winsys too. This also fixes on r600g: - fbo-depth-GL_DEPTH_COMPONENT32F-copypixels - fbo-depth-GL_DEPTH_COMPONENT16-copypixels - fbo-depth-GL_DEPTH_COMPONENT24-copypixels - fbo-depth-GL_DEPTH_COMPONENT32-copypixels - fbo-depth-GL_DEPTH24_STENCIL8-copypixels I can't explain it. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
90ce3cdde9fb2dd507b4e21c5456a3371f5996bc |
|
17-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove struct radeon (or what's left of it) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
518557d74abd4ce035dae079ff6eb1b08cc639d0 |
|
17-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: move family and chip_class from struct radeon to r600_screen Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
6101b6d442b06a347c001fe85848d636ab7df260 |
|
11-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: merge r600_bo with r600_resource I have moved 'last_flush' and 'binding' from r600_bo to winsys/radeon. The other members are now part of r600_resource. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
12325b7962ba0dcc34cef2b6070ecd511e5ffa88 |
|
11-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove an irrelevant XXX comment
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ac028b20e5431ed3c78b6a4a9192e84f6873c9fd |
|
11-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: set the return type of radeon_destroy to void
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
b87bc2eb44cd605f2992335b5649ca907ba0c55d |
|
11-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove r600_drm_public.h
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
1a532ca79a4a87bb86c641a6ca22da0301dc1f62 |
|
11-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: inline some of the winsys r600_get functions
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
3603d157889544230f1787bbdc4915ccd7461c59 |
|
11-Sep-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: compute tiling info in the pipe, not in the winsys The winsys doesn't need it.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
47dcfb8dab517e2c92af2f4813b0f5ad200b8b07 |
|
07-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: set read/write usage flags for each relocation This takes advantage of the new GEM_WAIT ioctl when mapping buffers. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
0bbbd82488c11710aaca79ed3db2b605888ac65d |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: undefine RADEON_CTX_MAX_PM4 winsys/radeon has its own definition. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
041ed559e11ee99d720c8132428c07d8fe57ec81 |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove an unused parameter from r600_bo_destroy Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
c6fec83726d3435a800f0a4e3ded89628b1a504f |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: merge radeon_bo with r600_bo Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ab630b5768b0bfa4d7729d110ce4fb8f42e0cfb9 |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: use buffer_map/unmap from radeon_winsys This also drops the unneeded bo_busy/wait functions. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
e2e1dc9e66ff348caa97b7b35e558d75c6cc6899 |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: set the flush callback in radeon_winsys I have also renamed the winsys function. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
e6fb62594fca714883af9bba9795be8838c16900 |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: emit CS using radeon_winsys Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
685b8345a8ff69460f0c62c678493527b59b18a9 |
|
04-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove struct r600_reloc That is really private to winsys/radeon. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
638d75185e66727faaba5dc2df1b6e14c7c0c075 |
|
03-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: let radeon_winsys maintain the list of relocations Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
9865b1ec8c88154d8ceb982c42844b68e9224217 |
|
03-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove now-unused r600_context::fenced_bo Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
2ce783d8ddec1b1fcadc0798af0ebb045bba1cc4 |
|
02-Aug-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: put radeon_winsys in screen::winsys, don't include drm_driver in the pipe Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
354f76f386afd980e8c1564c0b0502f9768007b5 |
|
22-Jul-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: cleanup includes in winsys Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
6eb94fc3444a300a0419c40cfcf356fdd88bc304 |
|
02-Aug-2011 |
Vadim Girlin <vadimgirlin@gmail.com> |
r600g: use backend mask for occlusion queries Use backend_map kernel query if supported, otherwise analyze ZPASS_DONE results to get the mask. Fixes lockups with predicated rendering due to incorrect query buffer initialization on some cards. Note: this is a candidate for the 7.11 branch. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
e69dde5233a2fc6ad4c5483d079e1ea3a2123a59 |
|
23-Jul-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove dummy function r600_bo_offset Always returned 0.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
f6df430a85141f6a384c18079fb5b2ad848dac0d |
|
22-Jul-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: remove unused code
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ef29bfee031cdab3dbb0f9a79828c4b0d0405991 |
|
15-Jul-2011 |
Vadim Girlin <vadimgirlin@gmail.com> |
r600g: fix queries and predication Use all zpass data for predication instead of the last block only. Use query buffer as a ring instead of reusing the same area for each new BeginQuery. All query buffer offsets are in bytes to simplify offsets math.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
fbe9d4261f94b8a22ae04dccb8201a6762b66d40 |
|
04-Jul-2011 |
Vadim Girlin <vadimgirlin@gmail.com> |
r600g: reduce flushes for queries
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
61c976c3ccc815aaf0128eea835aee9667cd8bbe |
|
29-Jun-2011 |
Vadim Girlin <vadimgirlin@gmail.com> |
r600g: fix check for empty cs
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
2743851c1a73305dd83e42b99edc49906d9c0a51 |
|
07-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: move depth texture flushing out of line. this needs a piglit run. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ba78a5a679b3f6b00d0f2070bb1ab6d56443ab16 |
|
07-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: split resource emit path from main register emit path Since resources don't generally vary in size, this splits the emit path, it also takes into a/c that texture and vertex resources have different number of relocs, and avoids emitting the extra reloc for vertex resources. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
4707ae20ad6cd99bbcaa33747fc7b043c85bb084 |
|
07-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: inline r600_bo_reference. This relies on the reference member being first, so document it. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
5d4c4798223c3463dbf67c47b9563f82c9057e7f |
|
07-Jun-2011 |
Alex Deucher <alexdeucher@gmail.com> |
r600g: remove pre-r6xx asic families and pci ids Not sure why these were included originally. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
eaae63b7155f1fd00fe36a3db4cb8b94aa5ad7b2 |
|
07-Jun-2011 |
Marek Olšák <maraeo@gmail.com> |
r600g: add missing r300 families Wondering why r600g needs to include r300_pci_ids.h
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
63184bc8b278ba82f5462798b323774c67a019e6 |
|
03-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: use an enabled list to track enabled blocks. At the end of flushing we were scanning over 450 blocks with generally about 50 enabled. This reduces the scanning to just the list of enabled blocks. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
f356bb74de7ab9ad1085a0fc2f16c1dae4ff171e |
|
06-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g/winsys: overhaul resource range/blocks. There isn't much point taking the overhead of range/block lookups on resources we aren't going to be getting resource registers at wierd offsets. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
cf0f02e501eb2eb8edcf2c4f6db826b0cdd31c9b |
|
03-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: move resource setting to its own structures. resource setting could be a fair bit more lightweight, this patch just separates the resource structs from the standard reg tracking structs in the driver, later patches will improve the winsys. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
51d0892ee2daaa442a48abff2329e1485dd337e8 |
|
03-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: sampler and texture state doesn't need a range/block. These are handled separately in the winsys, so don't need the calculations done at this point. this manifested as a crash in point-sprite, Thanks to XoD on #radeon for pointing it out. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
573758fd094431c8b3220786cea28dfdb4cfad1c |
|
02-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: decrease CPU time on set buffer resources This splits the initialisation and the setting of values in the resource buffers. We only should end up initialising once and updateing with new values when needed. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
4423c79ddf6853d1d4594afda3e1262c1b9af4f5 |
|
02-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: work out range/block etc at state build time. This moves the overhead of working out the range/block to state build time, it also allows the compiler to use constants for a lot of things instead of working them out each time. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
42502b6f03230b828121f60143190c39bc5c8dda |
|
02-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: deinline r600_pipe_state_add_reg. This is going to get too big to be a forced inline. Also going to remove it from some hotpaths. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
7f6672f6a737bc1c47e36c9567bd6d908855ce4d |
|
02-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: prepare for passing ctx into _r600_pipe_state_add_reg This moves the functions down the file, and also adds a ctx parameter. This is precursor patch just moving stuff around and getting it ready. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
991dbd71fdcc95e42bc56097d2fef3a7df0e8eaa |
|
02-Jun-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: migrate macros from r600_priv.h to r600.h this is just an precursor change for some later patches. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
414cd5df50435f475d92b02c229453d037369c0f |
|
04-Apr-2011 |
Alex Deucher <alexdeucher@gmail.com> |
r600g: add llano support Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
7779f6d1dffde2c0501e44adc342e52803de08d4 |
|
09-Mar-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: add initial cayman acceleration support. Cayman is the RadeonHD 69xx series of GPUs. This adds support for 3D acceleration to the r600g driver. Major changes: Some context registers moved around - mainly MSAA and clipping/guardband related. GPR allocation is all dynamic no vertex cache - all unified in texture cache. 5-wide to 4-wide shader engines (no scalar or trans slot) - some changes to how instructions are placed into slots - removal of END_OF_PROGRAM bit in favour of END flow control clause - no vertex fetch clause - TC accepts vertex or texture Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
d015d2f3912463e694d1e3c1b8cb6891f553f1f1 |
|
12-May-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: reduce memory usage from range/block hash table. This table covered a large range unnecessarily, reduce the address range covered, use the fact that the bottom two bits aren't significant, and remove unused fields from the range struct. It also drops the hash_size/shift in context in favour of a define, which should make doing the math a bit less CPU intensive. valgrind glxinfo Before: ==320== in use at exit: 419,754 bytes in 706 blocks ==320== total heap usage: 3,691 allocs, 2,985 frees, 7,272,467 bytes allocated After: ==967== in use at exit: 419,754 bytes in 706 blocks ==967== total heap usage: 3,552 allocs, 2,846 frees, 3,550,131 bytes allocated Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
d116fe51c1aee3453290ac30ffe993bc131c53f7 |
|
05-May-2011 |
Alex Deucher <alexdeucher@gmail.com> |
r600g: fix cache flushes on r6xx r6xx asics have some problems with the surface sync logic for the CB and DB. It's recommended to use the event write interface for flushing the DB/CB caches rather than the sync packets. A single event write flush flushes all dst caches, so we only need one for all CBs and DB. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=35312 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
6067a2a67f9a7aab2aee051469bea8af03747a95 |
|
20-Apr-2011 |
Fredrik Höglund <fredrik@kde.org> |
r600g: don't flush the dest caches on every draw Keep track of when the caches are dirty, and only flush them when the framebuffer state is set and when the context is flushed. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
162bc40eed9dc54091b6e64bcd7eab06607b500d |
|
18-Apr-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: modify block to only emit the first few dirty registers. (v2) This gets me from 2200 to 1978 dwords for a gears frame. This is due to us having some 32-dwords blocks in the SPI, that we only modify the first dwords off. v2: fix dirty reg count from Bas Nieuwenhuizen Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
c058067e578e4426f56f9b23e33e3d3fac4562f7 |
|
17-Apr-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: track dirty registers better. (v2) This is a first step to decreasing the CPU usage, by decreasing how much stuff we pass to the GPU and hence to the kernel CS checker. This adds a check to see if the values we need to write are actually dirty, and avoids writing if they are. However certain register need to always be written so we add a new flag to say which ones should be always written if used. (Note this could probably be done cleaner with a larger refactoring, since I think the CONST_BUFFER_SIZE_PS/VS and CONST_CACHE_PS/VS might be better off as a special state). It also moves the need_bo to be a flags on the register now. With this, a frame of gears goes from emitting 3k dwords to emitting 2k dwords, and I'm sure it could get a lot smaller. v2: fix some evergreen dirty bits. Original patch from: Bas Nieuwenhuizen, I NIHed nearly the same thing before seeing his patch on the list, oops. Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
d04ab396a54d29948363c3353efa5aaa888076a3 |
|
29-Mar-2011 |
Fredrik Höglund <fredrik@kde.org> |
r600g: implement texture barrier
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
948e1eb8e9c166ad5b74abc630d0760768ce78c9 |
|
29-Mar-2011 |
Fredrik Höglund <fredrik@kde.org> |
r600g: implement the pipe_screen fence functions v2: Allocate the fences from a single shared buffer object. v3: Allocate the r600_fence structs in blocks of 16. Spin a few times before calling sched_yield in r600_fence_finish().
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
a44b65312e2cbba641652f4c78b8db9f24ba39b6 |
|
28-Feb-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: add NV_conditional_render support. This is reliant on a drm patch that I posted on the list + a version bump. These will appear in drm-next today. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
929be6eb95c33d5885a89b36dbc82db64c1344fe |
|
01-Mar-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: start using drm minor version to enable things. If the drm minor version is > 9 (i.e. whats in drm-next), we enable s3tc + texture tiling by default now. this changes R600_FORCE_TILING to R600_TILING which can be set to false to disable tiling on working drm. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
c33e091d17b90df61f7b3873a2f124c4f26adf06 |
|
28-Feb-2011 |
Jerome Glisse <jglisse@redhat.com> |
r600g: indentation fixes Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
26a4c1cb650eee1380f87f3d7e8cff43c3d6a3e6 |
|
31-Jan-2011 |
Alex Deucher <alexdeucher@gmail.com> |
r600g: fix OQ on evergreen 6xx/7xx have a max of 4 DBs, evergreen have a max of 8. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
df8089df90de3e720fec46d6118b15094e94ccd7 |
|
31-Jan-2011 |
Dave Airlie <airlied@redhat.com> |
r600g: fix occlusion query results. Like on some r5xx, there are multiple DB backends on the r600, we need to add up the query results from each of these to get the final correct value. So far I'm not 100% sure how to calculate the num_db, value setting it to 4 should be harmless enough until we do. This fixes occulsion_query piglit test on my rv740. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
90c2fd86407999475ff6accecf36e5a2c75feb9b |
|
23-Jan-2011 |
Mathias Fröhlich <Mathias.Froehlich@web.de> |
r600g: Implement timer queries.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
63b9790a55038c262b57c846a5f7067ea33fc60f |
|
11-Jan-2011 |
Jerome Glisse <jglisse@redhat.com> |
r600g: move user fence into base radeon structure This avoid any issue when context is free and we still try to access fence through radeon structure. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
f54366bcf61a414885abb9f7f47e897598a80859 |
|
07-Jan-2011 |
Alex Deucher <alexdeucher@gmail.com> |
r600g: add support for NI (Northern Islands) GPUs This adds support for Barts, Turks, and Caicos asics.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
1039f36c47bf8c5db93b1d39c912c86fc3b1eb2f |
|
24-Dec-2010 |
Vinson Lee <vlee@vmware.com> |
r600g: Rearrange print order of outputs of R600_ERR.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
f431e0452b33ca9028e07cd85783297df6e87e69 |
|
22-Dec-2010 |
Dave Airlie <airlied@redhat.com> |
r600g: drop unused code in evergreen. this code was pretty much duplicated, thanks to Henri Verbeet on irc for pointing it out. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
edda44e0dc72302afa04a767772d5d97ab9d9aa6 |
|
03-Dec-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: more indentation fix + warning silencing + dead code removal Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
0e4c5f63b9023b292b88b2f0d5d0f6154e8ad263 |
|
22-Nov-2010 |
Alex Deucher <alexdeucher@gmail.com> |
r600g: add support for ontario APUs Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
f609b2ab0342d77a8beca9efb5fbc5b66ff98295 |
|
18-Nov-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: add fetch shader capabilities Use fetch shader instead of having fetch instruction in the vertex shader. Allow to restrict shader update to a smaller part when vertex buffer input layout changes. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
46c19700676e17bfaa0a88346d512449fbeede79 |
|
03-Nov-2010 |
Benjamin Franzke <benjaminfranzke@googlemail.com> |
r600g: implement texture_get_handle (needed for eglExportDRMImageMESA)
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
29c4a15bf61a76cd71ffa5b8f09706d0eab84281 |
|
02-Nov-2010 |
Keith Whitwell <keithw@vmware.com> |
r600g: propogate resource usage flags to winsys, use to choose bo domains This opens the question of what interface the winsys layer should really have for talking about these concepts. For now I'm using the existing gallium resource usage concept, but there is no reason not use terms closer to what the hardware understands - eg. the domains themselves.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
8a74f7422bedb419f3527bb1ccd60e1e9220502c |
|
18-Oct-2010 |
Dave Airlie <airlied@redhat.com> |
r600g: retrieve tiling info from kernel for shared buffers. we need to know if the back is tiled so we can blit from it properly.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
7b3fa038830663de9bceded1b0dd2d64b8cf39c4 |
|
08-Oct-2010 |
Dave Airlie <airlied@redhat.com> |
r600g: get tiling info from kernel
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ea5a74fb5892c9b6ca62054be2ee83a743103f4c |
|
05-Oct-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: userspace fence to avoid kernel call for testing bo busy status Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
2cf3199ee3b0014bc426bc3163dfa279c00eabb3 |
|
05-Oct-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: simplify block relocation Since flush rework there could be only one relocation per register in a block. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ac8a1ebe55b08180945ffaebcff6b3bed336c9ec |
|
05-Oct-2010 |
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> |
r600g: use dirty list to track dirty blocks Got a speed up by tracking the dirty blocks in a seperate list instead of looping through all blocks. This version should work with block that get their dirty state disabled again and I added a dirty check during the flush as some blocks were already dirty.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
585e4098aa0cb68a2cfce55ced5c585bd20aba24 |
|
05-Oct-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: improve bo flushing Flush read cache before writting register. Track flushing inside of a same cs and avoid reflushing same bo if not necessary. Allmost properly force flush if bo rendered too and then use as a texture in same cs (missing pipeline flush dunno if it's needed or not). Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
d22a1247d8a709cf433a6dd99b2f87a224c27d88 |
|
04-Oct-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: allow r600_bo to be a sub allocation of a big bo Add bo offset everywhere needed if r600_bo is ever a sub bo of a bigger bo. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
294c9fce1b924beddf198a3cce738b88eabb5537 |
|
04-Oct-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: rename radeon_ws_bo to r600_bo Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
9c284b5cae916a083d17d1039d2f2da128b47882 |
|
29-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: delete old path Lot of clean can now happen. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
5646964b1360883b6254e2ebacc198f43869d36f |
|
28-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: use a hash table instead of group Instead of creating group of register use a hash table to lookup into which block each register belongs. This simplify code a bit. Signed-off-by: Jerome Glisse <jglisse@redhat.com
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
fe790a3c346b5edb8b64cfc937b0d5cd9e337412 |
|
28-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: suspend/resume occlusion query around clear/copy Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
99c422ef5ab3924aad66af026945f491d75d226f |
|
27-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: build packet header once Build packet header once and allow to add fake register support so we can handle things like indexed set of register (evergreen sampler border registers for instance. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
7eab5ef425e1e08c0dc0ea8d161c33610a91586f |
|
27-Sep-2010 |
Dave Airlie <airlied@redhat.com> |
r600g: add evergreen texture resource properly. adding sampler border looks impossible with current design, another day, another corner case not worked out.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
a852615946b98de2d832d4907f09649803577db7 |
|
26-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: disable early cull optimization when occlusion query running When occlusion query are running we want to have accurate fragment count thus disable any early culling optimization GPU has. Based on work from Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
b360c050b60a578ce6c75cbc872dd54999b3f6c5 |
|
22-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: initial evergreen support in new path This doesn't work yet. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
ca35292a4456fec1c584d40bf9b4197fe733f609 |
|
22-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: occlusion query for new design Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
6048be89697fe27e30ef0f45594daba4e896362c |
|
21-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: directly allocate bo for user buffer Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
363dfb83f1ca7f1ab09eec30aeb89732c5ce3e02 |
|
20-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: move chip class to radeon common structure So texture code can be shared btw new state design & old one. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
affd46cc2bb327490fbc6a96f936dccf82d4996d |
|
19-Sep-2010 |
Henri Verbeet <hverbeet@gmail.com> |
r600g: Buffer object maps imply a wait. Unless e.g. PB_USAGE_DONTBLOCK or PB_USAGE_UNSYNCHRONIZED would be specified.
/external/mesa3d/src/gallium/drivers/r600/r600.h
|
fd266ec62ca772a8551d2d7922d718d9d84bdf07 |
|
17-Sep-2010 |
Jerome Glisse <jglisse@redhat.com> |
r600g: alternative command stream building from context Winsys context build a list of register block a register block is a set of consecutive register that will be emited together in the same pm4 packet (the various r600_block* are there to provide basic grouping that try to take advantage of states that are linked together) Some consecutive register are emited each in a different block, for instance the various cb[0-7]_base. At winsys context creation, the list of block is created & an index into the list of block. So to find into which block a register is in you simply use the register offset and lookup the block index. Block are grouped together into group which are the various pkt3 group of config, context, resource, Pipe state build a list of register each state want to modify, beside register value it also give a register mask so only subpart of a register can be updated by a given pipe state (the oring is in the winsys) There is no prebuild register list or define for each pipe state. Once pipe state are built they are bound to the winsys context. Each of this functions will go through the list of register and will find into which block each reg falls and will update the value of the block with proper masking (vs/ps resource/constant are specialized variant with somewhat limited capabilities). Each block modified by r600_context_pipe_state_set* is marked as dirty and we update a count of dwords needed to emit all dirty state so far. r600_context_pipe_state_set* should be call only when pipe context change some of the state (thus when pipe bind state or set state) Then to draw primitive you make a call to r600_context_draw void r600_context_draw(struct r600_context *ctx, struct r600_draw *draw) It will check if there is enough dwords in current cs buffer and if not will flush. Once there is enough room it will copy packet from dirty block and then add the draw packet3 to initiate the draw. The flush will send the current cs, reset the count of dwords to 0 and remark all states that are enabled as dirty and recompute the number of dwords needed to send the current context. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600.h
|