| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This is safe because it's initialized if buffers & PIPE_CLEAR_COLOR and
probably doesn't have any effect otherwise.
|
|
|
|
| |
Signed-off-by: Henri Verbeet <[email protected]>
|
|
|
|
|
|
|
| |
In particular, make sure the code is at least compiled on little endian
systems.
Signed-off-by: Henri Verbeet <[email protected]>
|
|
|
|
|
|
| |
This would actually fail to compile when PIPE_ARCH_BIG_ENDIAN is defined.
Signed-off-by: Henri Verbeet <[email protected]>
|
|
|
|
| |
This is a follow-up to commit d737857ed2ff4313fd6046dcd80018c6308a53c5.
|
|
|
|
| |
Passes fbo-generatemipmap-formats.
|
|
|
|
|
|
| |
move the one function into state common
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
Doesn't cause any piglit regression and passes the fbo-draw-buffers-blend
test.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
| |
the provoking vertex doesn't apply to quad/strip/polygon.
This fixes clipFlat on r600g.
Signed-off-by: Dave Airlie <[email protected]>
|
| |
|
|
|
|
| |
Broken with 72239d16cd08113e994ea3508f91193c682b0930.
|
|
|
|
|
|
| |
the hw does neg after abs, so don't neg the source in the ABS instruction case.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the initial code if we had nothing in the vector slots r would
never get reset to 0, so we'd fail to compile shaders, after the previous
commit this would happen for the LIT tests. When I fixed that we did a lot
of unnecessary loops through all the vector states when we had no vector
slots filled. So this patch optimises thing for the scalar only state.
This fixes the 3 LIT piglit tests on r600g.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
In the R600 ISA document:
Section 4.7.5 Cycle restrictions for the ALU.trans states that
PV/PS have cycle restrictions wrt constants.
This is part of a fix for the LIT tests
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
It seems they can't do unclamped vertex colors. Tested on RV350.
|
| |
|
|
|
|
| |
Reviewed-by: Jakob Bornecrantz <[email protected]>
|
|
|
|
|
|
| |
Just to keep drivers working.
Reviewed-by: Jakob Bornecrantz <[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]>
|
|
|
|
|
|
| |
Based on Cédric's r6xx/r7xx patch.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Cedric Cano <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
Check for signed type and enable SNORM.
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
Fill in the swaps for the formats to fix warnings.
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.
|
|
|
|
|
|
|
| |
The very presence of this extension breaks things.
This should bring us closer to being able to run Unigine Heaven.
The extension will be re-enabled once gl_InstanceID is implemented.
|
|
|
|
| |
This fixes Unigine Heaven.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without it gcc complains:
nv50_screen.c: In function ‘nv50_screen_is_format_supported’:
nv50_screen.c:48: warning: implicit declaration of function ‘util_format_is_supported’
and handles it wrongly - util_format_is_supported returns boolean, which is typedef'ed
to uchar, but function without prototype is assumed to return int.
For me nv50_screen_is_format_supported was returning true for float formats without
--enable-texture-float...
|
|
|
|
|
|
|
| |
Sounds very unlikely, but I don't have a better explanation at the
moment.
The GPU throws page faults at the first page after the code buffer
quite frequently on startup, and traces don't show us overflowing.
|
| |
|
| |
|
| |
|
|
|
|
| |
v2: Unsigned floats are allowed regardless of the configure switch.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The earlier change to ensure rendertargets and textures are always
rebound at every command buffer start had the downside of making
successive flushes no longer no-ops, as a command buffer with merely
the rebinding commands were being unnecessarily sent to the vGPU.
This change only re-emits the bindings when necessary, by keeping track
of the need to rebind outside of the dirty state update mechanism.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes width of non-smooth (aliased) lines on nvc0.
|
|
|
|
|
|
|
|
|
| |
Fixes issues in e.g. nexuiz (desertfactory) or supertuxkart that
look like lighting bugs.
They're not visible with the software rasterizers because their
notion of linear interpolation seems to be different from that
of nv50/nvc0.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 437c748bf5072d2bded77a00c74c51cdb8b510e5.
The commit is wrong for several reasons. One of them is when we grab
a new buffer, we should update all the states it is bound in,
including all parallel contexts. I don't think this is even doable.
The correct solution would be upload data via a temporary buffer and
do resource_copy_region to the original one.
https://bugs.freedesktop.org/show_bug.cgi?id=36088
|