| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Kostas Georgiou <[email protected]>
|
|
|
|
|
|
|
| |
Don't emit sync packets for additional CBs or DB.
Spotted by Fredrik Höglund.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
Hopefully we can find out the proper fix for this, but for now
this makes the fbo mipmap tests pass on my rv670 (x2 card).
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
| |
This seems more in line with what the documentation suggests we should be
doing. It doesn't fix the rv635 regression, though I thought it might,
so it means I've no idea whats actually going wrong there.
Signed-off-by: Dave Airlie <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
| |
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Reported by dir1212 on irc.
|
| |
|
| |
|
|
|
|
| |
Seems to be a copy-paste bug.
|
|
|
|
|
|
|
| |
reinstate b7617346dcff50a66a10c61b95c33682cf629c9e after the
rework in 6067a2a67f9a7aab2aee051469bea8af03747a95.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
| |
this needs revisiting, we really don't want to be flushing all 32 of these,
but currently we don't flush any of them, and it seems to have caused a regression
as reported on irc with doom3 on evergreen.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
just makes the code more consistent.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
really at these sort of sizes these are pointless inlines.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
These really didn't have much difference, and totally not inline material.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
Merging the flushes that are left doesn't seem to give a significant
performance improvement
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
This just avoids reemitting resources that haven't changed.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
| |
Renaming a few files, types, and functions.
Also make the winsys independent of r300g.
|
|
|
|
|
|
|
| |
unrolling loops is for Gentoo users, and I really want to put something
else inside these loops later.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
No idea why it's so hard to reproduce.
Broken with: c35572352e3e92683988ee8d151b47f4190d62f9
Thanks to Toni Spets for assistance.
|
| |
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Improves frame rate in apps with at least one user vertex buffer and
a hw index buffer.
|
| |
|
|
|
|
| |
Shouldn't happen, but you never know.
|
|
|
|
| |
We already have pb_buffer::reference::count.
|
| |
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
| |
Fix build failures introduced with commit 0fbb64a52931ba5871aa2c5eb01b81d391f678d1.
Reviewed-by: Jakob Bornecrantz <[email protected]>
|
|
|
|
| |
Signed-off-by: Daniel Vetter <[email protected]>
|
|
|
|
| |
this is a port of the r300 winsys code to do the same thing.
|
|
|
|
|
|
| |
Spotted by Henri on IRC.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
| |
This packet is required when updating the DB, CB,
or STRMOUT base addresses on rv6xx for the surface
sync logic to work correctly.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
This fd gets passed in from outside, closing it causes the X.org server
to crap out when the driver doesn't identify the chipset.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
The build still fails.
|
|
|
|
| |
Thread offloading is not sometimes desirable, e.g. when mapping a buffer.
|
|
|
|
| |
Running any older kernel is not recommended anyway.
|
| |
|
|
|
|
|
|
|
| |
No one ever cared. libdrm does dynamic resizing of its reloc-table,
anyway.
Signed-off-by: Daniel Vetter <[email protected]>
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
| |
v2: Add the batch bo to the libdrm validation lost, for otherwise
libdrm won't take previously used buffers into account.
Signed-off-by: Daniel Vetter <[email protected]>
|
|
|
|
|
|
|
|
|
| |
These files can be decoded with intel_dump_decode from the intel-gpu-tools
available at:
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/
Signed-off-by: Daniel Vetter <[email protected]>
|
| |
|