| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Kenneth Graunke <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
If state tracker asked us to map resource directly and we can't
do it (because of tiling), return NULL instead of doing full transfer
- state tracker should handle it and fallback to some other method
or repeat transfer without PIPE_TRANSFER_MAP_DIRECTLY.
It greatly improves performance of xorg state tracker on nv50+,
because its fallback (DFS/UTS) is much faster than full transfer.
|
|
|
|
|
|
|
|
|
| |
Eliminates unaligned accesses on strict architectures. Spotted by Jay
Estabrook.
Signed-off-by: Matt Turner <[email protected]>
NOTE: This is a candidate for the 7.10 branch.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GLSL stopped using:
BRA, EXP, LOG, LRP, NRM3, NRM4, XPD.
GLSL started using:
KIL, SCS, SSG, SWZ.
(omg why SWZ? isn't proc_src_register flexible enough?)
GLSL doesn't use these opcodes some Radeons do support:
ARR, DP2A, DST, LRP, XPD.
These opcodes are now unused:
AND, NOT, NRM3, NRM4, OR, XOR.
(plus maybe the NV extensions which are unused by Gallium)
In addition to that, we don't use two-dimensional indirect addressing,
which the Mesa IR can do.
|
|
|
|
|
| |
Was broken by commit fe622bac0c1b5b9f2a9fcf9f35b51232a06bea42 ('r300/compiler:
Rewrite register allocator').
|
|
|
|
| |
Signed-off-by: Jerome Glisse <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
PIPE_ARCH_UNKNOWN_ENDIAN is used no where else. All #else branches of
ifdef PIPE_ARCH_LITTLE assume big-endian. Not #error'ing out here
only serves to allow bad things to happen.
Signed-off-by: Matt Turner <[email protected]>
|
|
|
|
|
|
| |
Suggested by Julien Cristau.
Signed-off-by: Matt Turner <[email protected]>
|
| |
|
|
|
|
| |
Localizes preprocessor usage to one place.
|
| |
|
|
|
|
|
| |
Signed-off-by: Nicolas Kaiser <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
|
|
|
|
|
|
|
|
| |
Value found in my math.h header.
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Matt Turner <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1/ln(2) is equivalent to log2(e), so define it as such.
log2(e) = ln(e)/ln(2) = 1/ln(2)
Worst of all, the definitions for M_LOG2E and ONE_DIV_LN2
(right beside each other!) weren't the same.
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Matt Turner <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The r600/r700 support will follow soon.
|
|
|
|
| |
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
| |
Reviewed-by: Brian Paul <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=36914
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
We need to distinguish surfaces for mouse cursors from scanouts,
because nv50 hardware display engine ignores tiling flags.
|
|
|
|
| |
Signed-off-by: Kostas Georgiou <[email protected]>
|
|
|
|
|
|
|
| |
There seriously needs to be a better way to do
this.
Signed-off-by: Alex Deucher <[email protected]>
|
| |
|
|
|
|
| |
Do not depend on _EGLDisplay and _EGLImage.
|
|
|
|
|
|
| |
The DRI driver itself might not have version 3 of the
DRI2 flush extension, in which case this would've
pointed to out of bounds memory...
|
|
|
|
|
|
| |
Spotted by Henri Verbeet
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Setting SOURCE_FORMAT to EXPORT_NORM is an optimization.
Leaving SOURCE_FORMAT at 0 will work in all cases, but is less
efficient. The conditions for the setting the EXPORT_NORM
optimization are as follows:
R600/RV6xx:
BLEND_CLAMP is enabled
BLEND_FLOAT32 is disabled
11-bit or smaller UNORM/SNORM/SRGB
R7xx/evergreen:
11-bit or smaller UNORM/SNORM/SRGB
16-bit or smaller FLOAT
Signed-off-by: Alex Deucher <[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]>
|
|
|
|
|
| |
Reviewed-by: Dan Nicholson <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Dan Nicholson <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
|
|
|
|
|
|
| |
This fixes piglit fbo-alphatest-formats on Evergreen.
Signed-off-by: Henri Verbeet <[email protected]>
|
|
|
|
|
|
|
| |
This reverts commit 70227e21bbd4411956ceeb5039640140e64a11a8.
revert this until we sort things out, with a new glproto release
with compatible struct names.
|
|
|
|
|
|
|
|
|
| |
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]>
|
|
|
|
|
|
|
| |
We only handle a 32 bit swap count, so use the new structure definitions.
Reviewed-by: Adam Jackson <[email protected]>
Signed-off-by: Jesse Barnes <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
After sending the GLXChangeDrawableAttributes request, we also set a
local set of attributes on the DRI drawable. But in the indirect case
this array won't be present, so skip the setting in that case to avoid a
crash.
Reviewed-by: Adam Jackson <[email protected]>
Signed-off-by: Jesse Barnes <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We use a hidden window for pbuffer contexts, but Windows limits window
sizes to the desktop size by default. This means that creating a big
pbuffer on a small resolution single monitor would truncate the pbuffer
size to the desktop.
This change overrides the windows maximum size, allow to create windows
arbitrarily large.
|