summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600
AgeCommit message (Collapse)Author
2010-09-13r600g: evergreen fixup dsa state for running query.Dave Airlie
evergreen is always the same as r700 here.
2010-09-12pb: add void * for flush ctx to mapping functionsDave Airlie
If the buffer we are attempting to map is referenced by the unsubmitted command stream for this context, we need to flush the command stream, however to do that we need to be able to access the context at the lowest level map function, currently we set the buffer in the toplevel map, but this racy between context. (we probably have a lot more issues than that.) I'll look into a proper solution as suggested by jrfonseca when I get some time.
2010-09-11r600g: Undo bo placement change.Tilman Sauerbeck
This reverts a part of e795ca8f3175fa6fd97b6b2ef2775e3f8803012a that causes artefacts and a performance drop. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-10r600g: Fixed a bo reference leak in the draw module.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-10r600g: Fixed a bo leak in r600_texture_from_handle().Tilman Sauerbeck
We would leak bo if the argument check failed. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-10r600g: Don't leave stale references in query_list when we cannot create bo.Tilman Sauerbeck
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-10r600g: Implemented the y component write for the LOG opcode.Tilman Sauerbeck
This makes the 'vp1-LOG test' piglit test work. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
2010-09-10r600g: fixup state calculations for picking states.Dave Airlie
for evergreen I ended up using a non-contig array of states, but this code needs a bit of fixing up to deal with that.
2010-09-10r600g: fixup CB state numbering headerDave Airlie
2010-09-10r600g: fix warning in r600 pipe driverDave Airlie
2010-09-10r600g: evergreen CBs are more sane to support with a single stateDave Airlie
2010-09-10r600g: add initial evergreen supportDave Airlie
adds shader opcodes + assembler support (except ARL) uses constant buffers add interp instructions in fragment shader adds all evergreen hw states adds evergreen pm4 support. this runs gears for me on my evergreen
2010-09-10r600g: align flushing of cb/db with DDX/r600c.Dave Airlie
the DDX and r600c both flush cb/db after the draw is emitted, as long as they do that, r600g can't be different, as it races. We end up with r600g flush, set CB, DDX set CB, flush. This was causing misrendering on my evergreen, where sometimes the drawing would go to an old CB.
2010-09-10r600g: don't need 3 bos here.Dave Airlie
the code should reloc correctly a single BO 3 times.
2010-09-08r600g: add initial bank swizzle support.Dave Airlie
this is ported from r600c mostly, bank swizzling is real messy and I don't think I got enough sleep last night to fully understand it.
2010-09-08r600g: Added missing r600_bc_add_literal() calls to XPD implementation.Tilman Sauerbeck
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-08r600g: Added preliminary support for the LOG opcode.Tilman Sauerbeck
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-08r600g: Added missing abs-ification to RSQ.Tilman Sauerbeck
This makes the 'fp1-RSQ test 2' piglit test work. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-09-08r600g: split opcodes out and add wrapper around usage.Dave Airlie
This splits the r600 opcodes out of the sq file and adds a wrapper so we can convert to evergreen opcodes later without touching these functions too much.
2010-09-08r600g: add support for constants in memory buffers.Dave Airlie
DX9 constants were in the constant file, and evergreen no longer support cfile. r600/700 can also use constants in memory buffers, so add the code (disabled for now) to enable that as precursor for evergreen.
2010-09-08r600g: abstract the hw states out behind a vtbl.Dave Airlie
this is step one towards evergreen support, it lets us plug in whole new hw level states.
2010-09-06r600g: add error print for no literals for r700s as wellDave Airlie
2010-09-06r600g: fixup r700 assembler for clamp/relative addressingDave Airlie
2010-09-06r600g: add script to generate header file with offsets into state objects.Dave Airlie
This was inherently fragile as any changes to r600_states.h would also need manual updating of all of the bits in radeon.h. Just add a simple python script to do the conversion, its not hooked up to make at all. This also will make adding evergreen a bit easier.
2010-09-06r600g: fix up surface referencesDave Airlie
We end up referencing the new surf and derefing the old surface which is a copy of the pointer to the new surf. So just bump the ref count directly.
2010-09-06r600g: search for sampler views in context on removal.Dave Airlie
Need to remove from context as well.
2010-09-06r600g: add missing printf operandDave Airlie
2010-09-03r600g: fix segfault in state after reworkDave Airlie
probably can improve this a bit.
2010-09-03r600g: refactor sample states into a reusable struct.Dave Airlie
I will not cut-n-paste. I will not cut-n-paste. I will not cut-n-paste.
2010-09-03r600g: reduce size of r600 context structure to !insaneDave Airlie
Its now about 7.8k, and might actually fit in a cache.
2010-09-03r600g: add texture border state.Dave Airlie
Okay I finally wrapped my head around what r600_context_state is meant to be, maybe I should just rename all the structs so that have distinct names. I've no idea however why 16 is a good magic number for R600_MAX_RSTATE.
2010-09-03r600g: deref old driver states for set entry points.Dave Airlie
2010-09-03r600g: drop r600_bind_state.Dave Airlie
This was another ugly function that really wasn't needed. The 3 calls to it from the gallium api were shorter than it, and all the calls from the set_ functions were pointless.
2010-09-03r600g: kill r600_context_state functionDave Airlie
having some sort of locality of code really matters, just create and setup state at time. Not sure if this is just further polishing of a bad thing, but at least it makes it more readable.
2010-09-03r600g: move lots of state inline helpers to separate header.Dave Airlie
this gets them out of sight of the main codeflow.
2010-09-03r600g: drop magic numbers in depth state.Dave Airlie
this also fixes occulsion queries.
2010-09-02r600g: force unbind of previously bind sampler/sampler_viewJerome Glisse
Previously bind sampler/sampler_view can be converted and endup overwritting the current state we want to schedule. Example : bind texA texB to sampler_view[0] & sampler_view[1], render, bind texB to sampler_view[0] render. Now state associated to texB are set to configure sampler_view slot 0, but as we don't unbind sampler_view[1] still point to texB state so we end up with sampler_view[1] overwritting sampler_view[0], which gives wrong rendering if next rendering bind texA to sampler_view[0], it will endup as texB is bound to sampler_view[0]. If you are not confuse at that point give me a call i will be buying you beer. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-02r600g: fix memory/bo leakJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-02r600g: fix thinko in shadow code.Dave Airlie
spotted by taiu on irc
2010-09-02r600g: fix logicop, the 3d ROP is the 2D rop shifted twice.Dave Airlie
2010-09-02r600g: fix depth texture testsDave Airlie
2010-09-02r600g: add missing vertex fetch formats to the translation table.Dave Airlie
fixes at least 2 more piglits.
2010-09-01r600g: fix binding of same texture to several target slotJerome Glisse
One can bind same texture or sampler to different slot, each slot needs it own state. The solution implemented here is not exactly beautifull or optimal need to think to somethings better. Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-02r600g: fix incorrect state naming in pipe_sampler vs pipe_sampler_viewDave Airlie
fixes problems in valgrind with uninitialised values.
2010-09-01r600g: silence compiler warningJerome Glisse
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-01r600g: refix db/cb stateJerome Glisse
Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Jerome Glisse <jglisse@redhat.com>
2010-09-01r600g: fix up default state differences between r6xx and r7xxAlex Deucher
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
2010-09-01r600g: avoid dynamic allocation of statesJerome Glisse
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>
2010-09-01Revert "Revert "r600g: precompute some of the hw state""Jerome Glisse
This reverts commit 1fa7245c348cb7aced81f1672140f64cb6450e2f. Conflicts: src/gallium/drivers/r600/r600_state.c
2010-09-01r600g: correct cb/zb offset emits.Dave Airlie
This fixes fbo-3d and fbo-cubemap