History log of /external/mesa3d/src/gallium/drivers/r600/r600d.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c586fce4fb537e904e35cb5197b6b7fe02217acb 03-Sep-2012 Vadim Girlin <vadimgirlin@gmail.com> r600g: adjust QUANT_MODE for higher precision

Use 1/256 for R6xx/7xx, 1/4096 for evergreen, instead of default 1/16.

Helps to pass some piglit tests (fbo, multisample).

Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit f44bda17f515c411071ca8744ebd96039d9c583b)
/external/mesa3d/src/gallium/drivers/r600/r600d.h
8698a3b85dd89c5d2fa473e7942b7dc8d25f3c8f 02-Aug-2012 Marek Olšák <maraeo@gmail.com> r600g: implement MSAA for r700

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
6517225078a6a56c9fb3c1ea9f310992e6400b77 22-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: implement alpha-to-coverage
/external/mesa3d/src/gallium/drivers/r600/r600d.h
43e3f19c766863a655bb9f7c04f7820cbda0c8f5 07-Jul-2012 Marek Olšák <maraeo@gmail.com> r600g: set DISABLE in CB_COLOR_CONTROL if colormask is 0

this will be useful for in-place DB decompression, otherwise should be harmless

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
cb4d1d377d7a1143db48feb48ef54dfa3b29487d 14-Jun-2012 Marek Olšák <maraeo@gmail.com> r600g: fix lockups with streamout on r7xx

This requires the latest streamout kernel patches.

Streamout is disabled by default on r7xx, so this patch is safe for regular
users.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
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/r600d.h
6187503f95c56aa3fdbb645170095c409dad12ff 27-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: initialize SX_SURFACE_SYNC

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
aacd653834264b70a2537aff7914762b39f0683f 26-Feb-2012 Marek Olšák <maraeo@gmail.com> r600g: rework scissor for r600-r700

We must use VPORT_SCISSOR, because that's the only one we can use for multiple
scissor rectangles in ARB_viewport_array.

R700 can use the VPORT_SCISSOR_ENABLE bit, but R600 doesn't have that and must
emit a 8192x8192 rectangle if scissor is disabled.

This commit also cleanups magic numbers in create_rs_state.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
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/r600d.h
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/r600d.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/r600d.h
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/r600d.h
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/r600d.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/r600d.h
4f7c21899ad449be2bc1157ce1d2d99296a34499 14-Nov-2011 Marek Olšák <maraeo@gmail.com> r600g: fix the representation of control-flow instructions

We need something that looks like a compiler and not like some hacker
put some functions together. /rant

This is a band-aid for these two problems:
- The R600 and EG control-flow instructions appear in switch statements
next to each other, causing conflicts when adding new instructions.
- The ALU control-flow instructions are bitshifted by 3 (from CF_INST 26:29
to CF_INST 23:29, as is defined by r600 ISA) even for EG, where CF_INST
is 22:29.

To fix this mess, the 'inst' field is bitshifted to the left either by 22, 23,
or 26 (directly in the definitions), such that it can be just or'd when making
bytecode without any shifting. All switch statements have been divided into
two, one for R600 and the other for EG.

Of course, there is a better way to do this, but that is left for future
work.

Tested on RV730 and REDWOOD with no regressions.

v2: minor cleanup as per Alex's comment.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
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/r600d.h
3d7934760930fdf208032aca2d933baf7768fdfc 25-Oct-2011 Marek Olšák <maraeo@gmail.com> r600g: cleanup some magic numbers
/external/mesa3d/src/gallium/drivers/r600/r600d.h
929ad43b11cfc24f3e27bc1da2523b7fc142917f 05-Sep-2011 Marek Olšák <maraeo@gmail.com> r600g: add support for shadow array samplers

I had to guess & verify how some of the SAMPLE instructions work.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
1d52ddc3bba276451fdd690a5e9f430505278062 24-Aug-2011 Dave Airlie <airlied@redhat.com> r600g: add TXQ and TXF support

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
a77431b3b0cda9da7dff628f65aaa804c7c96f57 14-Aug-2011 Marek Olšák <maraeo@gmail.com> r600g: consolidate two files r600d.h
/external/mesa3d/src/gallium/drivers/r600/r600d.h
9bcce02f47f721bfb8917fd5639756fb3456aab5 19-Jun-2011 Marek Olšák <maraeo@gmail.com> r600g: remove some magic numbers
/external/mesa3d/src/gallium/drivers/r600/r600d.h
de91ea1c06d3208edfb132fa8bea76bbd883f05c 15-Jun-2011 Mike Kaplinskiy <mike.kaplinskiy@gmai.com> r600g: fix TXD when shadowing is enabled.

Mike had actually done a lot of the TXD support in a patch in bug
37476 which I see now, I'll add the bits of his work that I didn't think
to add to my work.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
13c9a8552bc83b1ad91442caacf847cb6cead2b5 15-Jun-2011 Dave Airlie <airlied@redhat.com> r600g: add TXD support.

This at least passes the piglit arb_shader_texture_lod-texgrad test,
the AMD shader analyzer seems to multiply the V component by an unspecified
constant value no idea why.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
b9e8ea6a2717422ea71887beda093fe1dfbd1200 09-May-2011 Jerome Glisse <jglisse@redhat.com> r600g: anisotropic filtering support for evergreen hw

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
ad904cdf98be576ba652fe1c16ab722d52365782 06-May-2011 Carl-Philip Haensch <carli@carli-laptop.(none)> r600g: add support for anisotropic filtering
/external/mesa3d/src/gallium/drivers/r600/r600d.h
d7577ae3a6d6e174ab36d244f6bd4dedd63c3d1d 25-Apr-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Cleanup the big endian support a bit.

In particular, make sure the code is at least compiled on little endian
systems.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
843dfe3206c4f397c7911b748373dde5540392a4 19-Apr-2011 Cédric Cano <ccano@interfaceconcept.com> r600g: add big endian support for r6xx/r7xx

Signed-off-by: Cedric Cano <ccano@interfaceconcept.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.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/r600d.h
0d851f6e9c6046052ddce3860e625537832530a0 10-Feb-2011 Dave Airlie <airlied@redhat.com> r600g: handle 16/32 u/s norm formats properly

add support for the 32-bit types, also fixup the
export setting to handle types with channels > 11 bits properly

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
5555cd776b970bce020be59193054474a2a63317 31-Jan-2011 Dave Airlie <airlied@redhat.com> r600g: handle the write all cbufs property.

This only works on r600/r700 so far, evergreen doesn't appear
to have the multiwrite enable bit in the color control, so we
may have to actually do a shader rewrite on EG hardware.

remove some duplicate code reg defines also.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
5a2abf7a854cef3ae635f74dd0e580d603a92a21 15-Jan-2011 Henri Verbeet <hverbeet@gmail.com> r600g: Fix some register value name typos.

SFR -> SRF.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
c3974dc837b4a11a30603bb00fa1d346e721af59 17-Oct-2010 Keith Whitwell <keithw@vmware.com> r600g: set hardware pixel centers according to gl_rasterization_rules

These were previously being left in the default (D3D) mode. This mean
that triangles were drawn slightly incorrectly, but also because this
state is relied on by the u_blitter code, all blits were half a pixel
off.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
e8e20313afbdf3a38e5a10e6fa566864452eeb2c 08-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: add defines for tiling
/external/mesa3d/src/gallium/drivers/r600/r600d.h
82114ac02a2d5a764ce69711fc0a71f559ee9137 05-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: switch to a common formats.h file since they are in different regs
/external/mesa3d/src/gallium/drivers/r600/r600d.h
39d1feb51e9dac794751e72f48faf26409a84b1c 06-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: add shader stencil export support.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
738aa29289296512959cbb37d8602131dae44dab 01-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: setup basic loop consts on r600 + evergreen.

this sets up a single loop constant like r600c does.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
d662195f00fe60349cdda368eeb065910764842f 01-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: fixup vertex format picking.

there are some vertex formats defined in r600c not in the docs.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
05d1d86907b12011fdb80e147ae68b4cd207f789 01-Oct-2010 Dave Airlie <airlied@redhat.com> r600g: add winsys support for CTL constants.

These need to be emitted, we also need them to do proper vtx start,
instead of abusing index offset.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
153105cfbfd8d6ff30de144605016f6e4f2a1b9e 30-Sep-2010 Jerome Glisse <jglisse@redhat.com> r600g: use constant buffer instead of register for constant

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
b7ab9ee84e4e4ff48b335c74c110d82e48bee4a5 24-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: add some more vertex format support.

adds the sscaled formats, this passes some more of the draw-vertices tests.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
41ef78c5af9a8b0ac80d9bd5375700a8bd0643f8 21-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: cleanup some of the DB blit code

add cb/db flush states to the blit code.
add support for the rv6xx that need special treatment.
according to R6xx_7xx_3D.pdf

set r700 CB_SHADER_CONTROL reg in blit code
docs say dual export should be disabled for DB->CB
/external/mesa3d/src/gallium/drivers/r600/r600d.h
e98062673e20109e4f95b4636a4695e50ba4b8cc 20-Sep-2010 Corbin Simpson <MostAwesomeDude@gmail.com> r600g: Clean up PS setup.

I didn't do r600d according to the docs; I split EXPORT_MODE to be a bit more
useful and obvious. Hope this is okay.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
7ee9b0b951eed3e1a553b2d8cda6b52dad39f027 20-Sep-2010 Corbin Simpson <MostAwesomeDude@gmail.com> r600g: Deobfuscate and comment a few more functions in r600_hw_states.
/external/mesa3d/src/gallium/drivers/r600/r600d.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/r600d.h
d80bed15660e784a405c467be1ded8266d8ffc48 17-Sep-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Fixed the shift in S_02880C_KILL_ENABLE.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
5f97d0a218f3509f361504be06f6b307e1b6bb89 17-Sep-2010 Tilman Sauerbeck <tilman@code-monkey.de> r600g: Added DB_SHADER_CONTROL defines.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
1a20aae581dae3d8d733f7f18414737a6924e981 16-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: add vgt dma src defines
/external/mesa3d/src/gallium/drivers/r600/r600d.h
883cbbd99cd44dd5d2729fcddddafddcc435affc 03-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: drop magic numbers in depth state.

this also fixes occulsion queries.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
7299023c2aa5378b2d54663a53cb2fa4e743fa73 02-Sep-2010 Dave Airlie <airlied@redhat.com> r600g: add missing vertex fetch formats to the translation table.

fixes at least 2 more piglits.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
b777db32541b360516203865a0fa41f4b8cebf7c 18-Aug-2010 Dave Airlie <airlied@redhat.com> r600g: fix TXP vs TEX in shader.

Don't do perspective for TEX, and also copy input to a temporary for TEX

also add tex opcode names
/external/mesa3d/src/gallium/drivers/r600/r600d.h
457378e031ffb89a2011604c7798a6f5f2142207 11-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: add point/sprite rendering support

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
d9f72b9f909b32ff0adacf939c75eb2924ed133b 06-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: add PA_CL_CLIP_CNTL definition

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
27041d7cb3faeaed483538a228573466363ec1c7 06-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: fix color format, indentation, defines

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
0a2a6c75bffc56d8dfde9b8a46c40222825630ea 06-Aug-2010 Dave Airlie <airlied@redhat.com> r600g: add SRGB support.

This enables GL2.1 and passes glean's texture_srgb test.
/external/mesa3d/src/gallium/drivers/r600/r600d.h
2b9036476511edd549d1c2cea6044eef4652a19c 06-Aug-2010 Dave Airlie <airlied@redhat.com> r600g: improve supported format selection.

This fixes fbo-readpixels piglit test, and adds support for swapping
the formats. Not all formats are correct yet I don't think.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
9a78e790dc4c40362b971ad5eff2505c02b73ed7 04-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: always perform texture perspective divide + fix blending

quake3 engine seems to run fine at this point (ioquake)

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
dd863bf5e7c6680075cf7c355a026b1da69ee9e3 03-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: add polygon offset support

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
313df4156279f84ebc5b98a7540820b994762650 02-Aug-2010 Jerome Glisse <jglisse@redhat.com> r600g: add autogenerated reg definition + debug print cleanup

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
7a73390f9126fd270d9891cd9d2bf38ef56d9b80 29-Jul-2010 Jerome Glisse <jglisse@redhat.com> r600g: mipmap early support + EX2/ABS instruction + culling

Add mipmap support (demos/src/redbook/mipmap is working)
Add EX2/ABS shader instruction support.
Add face culling support.

Misc fixes.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
641c9adb09e8707f659d42be600d16902ebf8895 28-Jul-2010 Jerome Glisse <jglisse@redhat.com> r600g: texture support

Add texture mapping support, redbook/texbind works if
you comment out glClear and second checkboard. Need to
fix :
- texture overwritting
- lod & mip/map handling
- unormalized coordinate handling
- texture view with first leve > 0
- and many other things

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
0bca8fbfdab4a19ddbb4f33aaef372246a5d2cc2 21-Jul-2010 Jerome Glisse <jglisse@redhat.com> r600g: add support for all R6XX/R7XX asic

This configure some of the value properly based on
asic so others asic than RV710 works too.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
/external/mesa3d/src/gallium/drivers/r600/r600d.h
72128962d640846472c1b0dc22cf4ac6ce875dc9 08-May-2010 Jerome Glisse <glisse@freedesktop.org> r600g: Initial import
/external/mesa3d/src/gallium/drivers/r600/r600d.h