History log of /external/mesa3d/src/gallium/drivers/r600/r600_query.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
44f14ebd7b9ba7186342039d2602fdd6ea5077f5 05-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: implement timestamp query and get_timestamp hook

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
0a6120244e66494db070ce875c0a464fbc5b15a1 26-Apr-2012 Marek Olšák <maraeo@gmail.com> winsys/radeon: simplify buffer map/unmap functions

The idea is not to use pb_map and pb_unmap wrappers, calling straight
into the winsys.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
a52b3338c6e51421e3836ae210cd98d9c1ec337b 10-Apr-2012 Marek Olšák <maraeo@gmail.com> u_vbuf: remove u_vbuf_resource
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
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_query.c
4445e170bee23a3607ece0e010adef7058ac6a11 27-Mar-2012 Marek Olšák <maraeo@gmail.com> gallium: adapt to get_query_result interface change

Reviewed-by: Brian Paul <brianp@vmware.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.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/r600_query.c
6ed5855009a0ab8c6f88cad1ae517e49d8953d98 05-Mar-2012 Marek Olšák <maraeo@gmail.com> r600g: move r600_context_bo_reloc to r600_pipe.h

so that we don't have to include r600_hw_context_priv.h outside of
the *hw_context* files.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
29e55bc5f1b6d7375b6a86e24ca4ae58e399011e 26-Feb-2012 Marek Olšák <maraeo@gmail.com> winsys/radeon: add usage parameter to cs_is_buffer_referenced

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
0018db1126c443c4d70947010dcf1afa37e5fb16 23-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: correctly handle queries which don't need begin_query

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
09ec30f02830b3cbf9d6ac04d9497634dca86846 23-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: don't suspend timer queries for u_blitter

Timer queries should be able to measure the time spent in u_blitter as well.

Queries are split into two groups: the timer ones and the others (streamout,
occlusion), because we should only suspend non-timer queries for u_blitter,
and later if the non-timer queries are suspended, the context flush should
only suspend and resume the timer queries.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
eabcecc26baf225dc50f1d400a80ea4c78831390 23-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: release query buffers in destroy_query

This fixes a memory leak introduced with the rework.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
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_query.c
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_query.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/r600_query.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/r600_query.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/r600_query.c
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_query.c
9eac0fce83c88bedfc6d1c9a653c393d2be4b655 29-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: reset the render condition to NULL when rendering unconditionally
/external/mesa3d/src/gallium/drivers/r600/r600_query.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/r600_query.c
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_query.c
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_query.c
fbe9d4261f94b8a22ae04dccb8201a6762b66d40 04-Jul-2011 Vadim Girlin <vadimgirlin@gmail.com> r600g: reduce flushes for queries
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
6f243ec25d88589747c7a595903e201b90a4d767 15-Jun-2011 Marek Olšák <maraeo@gmail.com> r600g: disable render condition for some blitter operations
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
7e02303497237cde958c28608477d0c355a8038b 08-Mar-2011 Marek Olšák <maraeo@gmail.com> gallium: remove flags from the flush function

The drivers have been changed so that they behave as if all of the flags
were set. This is already implicit in most hardware drivers and required
for multiple contexts.

Some state trackers were also abusing the PIPE_FLUSH_RENDER_CACHE flag
to decide whether flush_frontbuffer should be called.
New flag ST_FLUSH_FRONT has been added to st_api.h as a replacement.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
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_query.c
6abd7771c6ab2c733b20835e211060dd18fd847d 29-Sep-2010 Jerome Glisse <jglisse@redhat.com> r600g: more cleanup

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
1235becaa1cf7e29f580900592563c3329d326de 29-Sep-2010 Jerome Glisse <jglisse@redhat.com> r600g: cleanup

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
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_query.c
0f099f2906773690210661fb533e207626dc8e40 20-Sep-2010 Jerome Glisse <jglisse@redhat.com> r600g: use pipe context for flushing inside map

This allow to share code path btw old & new, also
remove check on reference this might make things
a little slower but new design doesn't use reference
stuff.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
07b9e22a1f587026672a00a31cebaef5aae964c6 20-Sep-2010 Corbin Simpson <MostAwesomeDude@gmail.com> r600g: Fix false and true.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
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_query.c
7c1fcc41be15b6d648f84c8c1870a3a00575a48f 16-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: move constant buffer creation behind winsys abstraction.

this paves the way for moving to pb bufmgrs now.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
f70f79f6f6027bdf2f7de09bb39e12a24420f338 16-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: attempt to abstract kernel bos from pipe driver.

introduce an abstraction layer between kernel bos and the winsys BOs.

this is to allow plugging in pb manager with minimal disruption to pipe driver.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
ec9d838aa56d2c4bc5649d7c26ac61abb6c4b9bb 16-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: hide radeon_ctx inside winsys.

no need for this info to be exported to pipe driver.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
ae23d425c2aae652f4fc61ee8dee721e8e25509e 09-Sep-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Don't leave stale references in query_list when we cannot create bo.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
66e4cb1cd5a55402606a09417349d2be8b009e89 30-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: avoid dynamic allocation of states

Make state statically allocated, this kills a bunch of code
and avoid intensive use of malloc/free. There is still a lot
of useless duplicate function wrapping that can be kill. This
doesn't improve yet performance, needs to avoid memcpy states
in radeon_ctx_set_draw and to avoid rebuilding vs_resources,
dsa, scissor, cb_cntl, ... states at each draw command.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
69c30f5d6d429be4f7e211867984dab1a33da79c 26-Aug-2010 Dave Airlie <airlied@redhat.com> r600g: fixup states generation in winsys.

The current states code had an unhealthy relationship between
that had to somehow magically align themselves, editing either
place meant renumbering all states after the one you were on,
and it was pretty unapproachable code.

This replaces the huge types structures with a simple type + sub
type struct, which is keyed on an stype enum in radeon.h. Each
stype can have a per-shader type subclassing (4 types supported,
PS/VS/GS/FS), and also has a number of states per-subtype. So you
have 256 constants per 4 shaders per one CONSTANT stype.

The interface from the driver is changed to pass in the tuple,
(stype, id, shader_type), and we look for this. If
radeon_state_shader ever shows up on profile, it could use a
hashtable based on stype/shader_type to speed things up.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
2184f3ec3059eaf8a9a2b04c995162543f000862 27-Aug-2010 Dave Airlie <airlied@redhat.com> Revert "r600g: simplify states"

This reverts commit bd25e23bf3740f59ce8859848c715daeb9e9821f.

Apart from introducing a lot of hex magic numbers and being highly impenetable code,
it causes lots of lockups on an average piglit run that always runs without lockups.

Always run piglit before/after doing big things like this.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
bd25e23bf3740f59ce8859848c715daeb9e9821f 24-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: simplify states

Directly build PM4 packet, avoid using malloc (no states are
bigger than 128 dwords), remove unecessary informations,
remove pm4 building in favor of prebuild pm4 packet.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
63d010115c7972d854e0583f8f74e8d0c3407fcd 17-Aug-2010 Dave Airlie <airlied@redhat.com> r600g: add occlusion query support

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
34f7681669987bc804f4603463f2fa3f82bc844f 03-Jun-2010 Zack Rusin <zackr@vmware.com> gallium: adjust the query interface to support custom types

we need to change it to support composite types
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
1202f17063dd568d406c04b62307efad909c5917 31-May-2010 Vinson Lee <vlee@vmware.com> r600g: Remove unnecessary headers.
/external/mesa3d/src/gallium/drivers/r600/r600_query.c
72128962d640846472c1b0dc22cf4ac6ce875dc9 08-May-2010 Jerome Glisse <glisse@freedesktop.org> r600g: Initial import
/external/mesa3d/src/gallium/drivers/r600/r600_query.c