| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
util_logbase2 is exactly the same function.
Signed-off-by: Matt Turner <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Matt Turner <[email protected]>
Signed-off-by: Brian Paul <[email protected]>
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Francesco Marella <[email protected]>
|
|
|
|
|
|
|
| |
According to my documentation this is actually "Media Block Write" on
Gen4-5; there has never been a "DWord Block Write."
Signed-off-by: Kenneth Graunke <[email protected]>
|
|
|
|
|
|
| |
It's DWORD, not DWORLD.
Signed-off-by: Kenneth Graunke <[email protected]>
|
| |
|
|
|
|
|
|
| |
should fix https://bugs.freedesktop.org/show_bug.cgi?id=37157
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
It doesn't fix bug 37150 though.
|
|
|
|
|
|
| |
this just makes the code a little bit cleaner.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
only allocate the blocks ptr in the range if we ever have one,
otherwise don't bother wasting the memory.
valgrind glxinfo
before:
==967== in use at exit: 419,754 bytes in 706 blocks
==967== total heap usage: 3,552 allocs, 2,846 frees, 3,550,131 bytes allocated
after:
==5227== in use at exit: 419,754 bytes in 706 blocks
==5227== total heap usage: 3,452 allocs, 2,746 frees, 3,140,531 bytes allocate
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
| |
This drops 6k of the text segment, a minor drop in the ocean, however
it also makes the code a lot cleaner and removes a lot of duplicated
information, hopefully making it more maintainable.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This table covered a large range unnecessarily, reduce the address
range covered, use the fact that the bottom two bits aren't significant,
and remove unused fields from the range struct. It also drops the hash_size/shift in context in favour of a define, which should make doing the math
a bit less CPU intensive.
valgrind glxinfo
Before:
==320== in use at exit: 419,754 bytes in 706 blocks
==320== total heap usage: 3,691 allocs, 2,985 frees, 7,272,467 bytes allocated
After:
==967== in use at exit: 419,754 bytes in 706 blocks
==967== total heap usage: 3,552 allocs, 2,846 frees, 3,550,131 bytes allocated
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently r600g always maps every bo, this is quite pointless as it wastes
VM and on 32-bit with wine running VM space is quite useful.
So with this patch we don't create the mappings until first use, without
tiling enabled this probably won't make a major difference on its own,
but with tiled staged uploads it should avoid keeping maps for most of the
textures unnecessarily.
v2: add bo data ptr check
Signed-off-by: Dave Airlie <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
| |
dereference.
Based on zhigang gong <[email protected]>'s patch.
|
|
|
|
| |
Based on zhigang gong <[email protected]>'s patch.
|
|
|
|
|
|
|
| |
typedef void (GLAPIENTRYP _GLUfuncptr)(); causes the following warning:
function declaration isn't a prototype.
Signed-off-by: José Fonseca <[email protected]>
|
|
|
|
|
|
|
|
|
| |
GetVertexAttrib*{,ARB} is no longer aliased to the NV calls.
This fixes tracing yofrankie with apitrace, given it requires accurate
results from GetVertexAttribiv*.
NOTE: This is a candidate for the stable branches.
|
|
|
|
|
|
| |
Variables that share readers were not always being linked together.
https://bugs.freedesktop.org/show_bug.cgi?id=36939
|
|
|
|
|
|
|
|
|
| |
Some presubtract conversions were generating more than 3 source
selects.
https://bugs.freedesktop.org/show_bug.cgi?id=36527
Note: This is a candidate for the 7.10 branch.
|
|
|
|
| |
Plus three tests for rc_inst_can_use_presub()
|
|
|
|
|
|
|
|
|
| |
They need the same hack as rv670.
Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=35312
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Fixes fdo 36919.
NOTE: This is a candidate for the stable branches.
It should be cherry-picked to the sames branches that
3aa21f93dc1329c6f956277f2746c2a0bdae5446 was.
|
| |
|
|
|
|
|
| |
The assertion is wrong, now that state tracker can cope with a window with
zero width or height.
|
|
|
|
| |
Introduced by 531b12af35a832bcd8928a4919d76f8e9405cde0.
|
|
|
|
|
|
|
| |
Mesa already supports this because of NV_fragment_program.
Signed-off-by: Kenneth Graunke <[email protected]>
Tested-by: Marek Olšák <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Kenneth Graunke <[email protected]>
Tested-by: Marek Olšák <[email protected]>
|
|
|
|
| |
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]>
|