| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fixes fdo 52168.
Reviewed-by: José Fonseca <[email protected]>
|
|
|
|
|
|
|
|
|
| |
The vertex element state isn't in registers any more, so
remove that old code. That fixes a memory corruption with
the blend state and gets eglgears partially working.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Michel Dänzer <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>
|
| |
|
|
|
|
|
|
|
| |
lp_delete_setup_variants() used to be called in garbage collection,
but this no longer exists hence the setup shaders never got freed.
Reviewed-by: José Fonseca <[email protected]>
|
|
|
|
|
|
|
| |
Added a new file lp_bld_blend.c for the common code.
Merged and added some simple optimisations.
Reviewed-by: Jose Fonseca <[email protected]>
|
| |
|
|
|
|
| |
GLSL 1.3 has been enabled by default for quite a while.
|
|
|
|
|
|
| |
Separated out of the hyperz patch by Marek with minor modifications.
Signed-off-by: Marek Olšák <[email protected]>
|
|
|
|
| |
Signed-off-by: Marek Olšák <[email protected]>
|
|
|
|
| |
Signed-off-by: Marek Olšák <[email protected]>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Use LLVM limits when LLVM is being used, instead of TGSI limits
- Provide draw_get_shader_param_no_llvm for when llvm is never used (softpipe)
- Eliminate several of the hacks around draw shader caps in several drivers
Unfortunately the hack for PIPE_MAX_VERTEX_SAMPLERS is still necessary.
Reviewed-by: Marek Olšák <[email protected]>
|
|
|
|
|
|
|
| |
This function assumes that lp_build_context::type is a vector type,
which is not true for r600 or radeonsi.
This fixes an assertion failure using glamor 2D accel.
|
|
|
|
|
| |
This way if the conversion fails, we know what the TGSI shader looks
like.
|
|
|
|
|
|
| |
This fixes piglit/depth-level-clamp.
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
| |
The only case a depth buffer can be set as a color buffer is when flushing.
That wasn't always the case, but now this code isn't required anymore.
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
A flush depth texture is never set as a depth buffer and never flushed.
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
This was missing/broken. There are also minor code cleanups.
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
| |
- maintain a mask of which mipmap levels are dirty (instead of one big flag)
- only flush what was requested at a given point and not the whole resource
(most often only one level and one layer has to be flushed)
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
we can just update the state when decompressing, there's no need to add
additional info into the DSA state
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
| |
this will be useful for in-place DB decompression, otherwise should be harmless
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
to remove some overhead from draw_vbo. This is a derived state.
BTW, I've got no idea how compute interacts with 3D here, but it should
use cb_misc_state, so that 3D and compute don't conflict.
Reviewed-by: Alex Deucher <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code for growing the memory pool (which is used for storing all of
the global buffers) wasn't working. There seem to be two separate issues
with the memory pool code. The first was the way it was growing the pool.
When the memory pool needed more space, it would:
1. Copy the data from the memory pool's backing texture to system memory.
2. Delete the memory pool's texture
3. Create a bigger backing texture for the memory pool.
4. Copy the data from system memory into the bigger texture.
The copy operations didn't seem to be working, and I suspect that since
they were using fragment shaders to do the copy, that there might have
been a problem with the mixing of compute and 3D state.
The other issue is that the size of 1D textures is limited, and I was
having trouble getting 2D textures to work.
I think these problems will be easier to solve once more code is shared
between 3D and compute, which is why I decided to disable it for now
rather than continue searching for a fix.
|
|
|
|
|
|
|
| |
The original strategy for handling floating point loads, which was to
lower (f32 load) to (f32 bitcast (i32 load)) wasn't really working. The
main problem was that the DAG legalizer couldn't handle replacing a node
with two results (load) with a node with only one result (bitcast).
|
|
|
|
| |
The IMM bit is already being set in SICodeEmitter.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Use r600_resource_texture::flished_depth_texture for GPU access, and
allocate it in the VRAM. For transfers we'll allocate texture in the GTT
and store it in the r600_transfer::staging.
Improves performance when flushed depth texture is frequently used by the
GPU, e.g. in Lightsmark (~30%)
Signed-off-by: Vadim Girlin <[email protected]>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
PIPE_QUERY_TIMESTAMP is already implemented and working.
|
| |
|
|
|
|
|
|
|
| |
This fixes a segfault in r600_screen_create() introduced by
eb065f5d9d1159af3a88a64a7606c9b6d67dc3
Reported by tilman on irc.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This the first step towards being able to use evergreen_cb to bind RATs.
|
| |
|
|
|
|
|
|
|
|
| |
This function is used when dispatching compute shader in order to avoid
mixing compute and 3D registers in the context's dirty list. This
allows the compute code to resuse 3D functions like evergreen_cb, which
return a struct r600_pipe_state and still have control over when and how
the register writes are emitted.
|
|
|
|
|
|
|
| |
This allows the shader type bit to be set in the pm4 header when
emitting registers for compute shaders.
Reviewed-by: Marek Olšák <[email protected]>
|
| |
|