| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
v2: fix indentation, add assertions
|
|
|
|
| |
The DISCARD flags should improve performance in drivers which handle them.
|
|
|
|
| |
Figured out by trial and error.
|
|
|
|
|
|
|
| |
There are a couple of more bugs, but it is only
useful for debugging anyway.
Signed-off-by: Christian König <[email protected]>
|
|
|
|
| |
Signed-off-by: Christian König <[email protected]>
|
|
|
|
|
| |
Especially rename staging_texture to staging and change its type
to r600_resource. I will reuse it for buffers later.
|
| |
|
|
|
|
| |
Also change the type to bool and give it a less ambiguous name.
|
| |
|
|
|
|
| |
It's used as a boolean.
|
|
|
|
|
|
|
|
|
|
|
|
| |
r600g is the only driver which has made use of it. The reason the CAP was
added was to fix some piglit tests when the GLSL pass lower_output_reads
didn't exist.
However, not removing output reads breaks the fallback for glClampColorARB,
which assumes outputs are not readable. The fix would be non-trivial
and my personal preference is to remove the CAP, considering that reading
outputs is uncommon and that we can now use lower_output_reads to fix
the issue that the CAP was supposed to workaround in the first place.
|
|
|
|
| |
This should fix crashes on ancient processors.
|
|
|
|
|
|
|
|
|
|
| |
v2:
- s/$(top_builddir)/$(top_srcdir)/
- Always generate Makefile.in
v3:
- Fixes from Matt Turner
- Use Mesa CFLAGS
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
KILP instruction inside IF blocks were being lowered to an unconditional
KIL. Since r300 doesn't support branching, when the IF's were lowered
to conditional moves, the KIL would always be executed. This is not a
problem with the mesa state tracker, because the GLSL compiler handles
lowering IF's, but this bug was appearing in the VDPAU state tracker,
which does not use the GLSL compiler.
Note: This is a candidate for the stable branches.
|
|
|
|
|
|
| |
Otherwise the dirty area tracking won't work correctly.
Signed-off-by: Christian König <[email protected]>
|
|
|
|
|
|
|
|
| |
The xvmc state tracker is completely seperate and
doesn't shares code or anything else with the
xorg state tracker.
Signed-off-by: Christian König <[email protected]>
|
|
|
|
|
|
| |
Throw out all the old and now unneeded stuff.
Signed-off-by: Christian König <[email protected]>
|
|
|
|
|
|
| |
There was way to much dead code in it.
Signed-off-by: Christian König <[email protected]>
|
|
|
|
| |
Fixes piglit regressions from that change.
|
|
|
|
|
|
|
|
|
| |
We were inverting the meaning of the stencil op flags: in svga/d3d
the normal incr/decr wraps and the SAT ops clamp.
This fixes piglit failures (at least stencil-twoside and stencil-wrap).
We should backport this everywhere we can.
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Two of the switch cases used PIPE_FORMAT_ tokens instead of SVGA3D_ tokens.
As it happens, the token values are equal for these formats so there's no
net change.
Reviewed-by: José Fonseca <[email protected]>
Reviewed-by: Jakob Bornecrantz <[email protected]>
|
|
|
|
| |
Remove some Mesa/swrast stuff.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We always mapped the query buffer in begin_query, causing stalls
if the buffer was busy.
This commit reworks it such that the query buffer is only mapped
in get_query_result as it's supposed to be.
The query buffer is no longer treated as a ring buffer. Instead, the results
are just appended and when the buffer is full, we create a new one. One query
can have more than one query buffer, though that's a very rare case.
Begin_query releases all query buffers.
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
It may happen if util_slab_create has not been called.
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Jerome Glisse <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
Introduced with 8de5c355fa2bf0f30df2c7cf39aee01e793284bf, it would probably just crash.
Signed-off-by: Jakob Bornecrantz <[email protected]>
Reviewed-by: Jesse Barnes <[email protected]>
|
|
|
|
|
|
|
| |
The linked list of memory allocations was not protected by a mutex.
This lead to sporadic failures with multi-threaded apps.
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
| |
Just to be safe with ref counting and avoid atomic operations.
|
|
|
|
|
|
|
| |
This fixes another case of faulting when freeing a pipe_sampler_view
that belongs to a previously destroyed context.
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
|
|
|
| |
Per the GL_WGL_pbuffer spec, generate ERROR_INVALID_HANDLE and
return FALSE (and don't segfault).
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
|
| |
stw_pixelformat_get_info takes zero based index, not a 1 based pixel
format number.
|
|
|
|
| |
Reviewed-by: Jose Fonseca <[email protected]>
|
|
|
|
|
|
|
|
| |
Basically, instead of immediately freeing deleted surfaces, hang onto
them in a cache to do quick re-allocation. This helps when surfaces
are frequently destroyed and then reallocated a bit later.
Reviewed-by: José Fonseca <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a SVGA_HOST_SURFACE_CACHE_BYTES symbol, but it was never
used.
Now when we go to add a newly deleted surface to the cache we check
if the cache size would be exceeded. If so, try to free the least
recently "unused" surfaces until the cache is smaller. If we can't
do that, simply don't cache the newly deleted surface. The alternative
involves flushing and waiting and we don't want to do that.
Reviewed-by: José Fonseca <[email protected]>
|