| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
add function to set sample mask, and state for alpha-to-coverage and
alpha-to-one. Also make it possible to query for supported sample count
with is_msaa_supported().
Use explicit resource_resolve() to resolve a resource. Note that it is illegal
to bind a unresolved resource as a sampler view, must be resolved first (as per
d3d10 and OGL APIs, binding unresolved resource would mean that special texture
fetch functions need to be used which give explicit control over what samples
to fetch, which isn't supported yet).
Also change surface_fill() and surface_copy() to operate directly on resources.
Blits should operate directly on resources, most often state trackers just used
get_tex_surface() then did a blit. Note this also means the blit bind flags are
gone, if a driver implements this functionality it is expected to handle it for
all resources having depth_stencil/render_target/sampler_view bind flags (might
even require it for all bind flags?).
Might want to introduce quality levels for MSAA later.
Might need to revisit this for hw which does instant resolve.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
max_index must be observed to prevent crashes due to bad index data.
I've been using this patch for some time without regressions.
Some places, where we use internal vertex buffer, it is not entirely
clear what max_index should be, so passing just ~0 to avoid regressions
for now.
|
| |
|
|
|
|
| |
Whoo!
|
| |
|
|
|
|
|
|
|
|
| |
doc additions: shader export ARRAY_BASE for EXPORT_POS: 60 is position,
61 is misc vec(VS_OUT_MISC_VEC - used here),
62, 63 are clip distance vectors(VS_OUT_CCDIST#)
sorry for formating - there seem to be so many different styles in r600
|
|
|
|
|
| |
there's no more vp results for point coords so we cannot iterate
over vp outputs. Use only Point.CoordReplace[i]
|
|
|
|
|
|
|
|
| |
Certain headers, such as GL/glew.h, are in both the Mesa include and the
default installed include directories. On recent distros the needed
symbols can be found in both places. On older distros the installed
headers could be lacking symbols, so for a header that exists in both
places, the local one should be found first.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The POSIX function pthread_cond_wait can have spurious wakeups when
waiting on a condition variable.
Add a 64-bit counter that is incremented whenever the barrier becomes
full. A woken thread checks the counter. If the counter has not changed
then it has been spuriously woken and goes back to sleep. If the counter
has changed then it was properly signaled and exits the barrier.
Tested on Mac OS X.
This patch was based on ideas from Luca Barbieri.
|
|
|
|
| |
I just broke the 2000 fps barrier on glxgears. Yay?
|
| |
|
|
|
|
|
| |
proc_name cannot be NULL after the switch statement. proc_name is
assigned a value or the function has already returned.
|
| |
|
| |
|
|
|
|
| |
and disable batch splitting on these chipsets.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
commit 0c572c6828b6a338b07a6860280b3a314a81662e replaced
st_manager_create_api with st_gl_api_create.
Fixes MSVC build.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
The struct st_module isn't needed as it is the same thing as the st_api
struct. That is they both represent the API. Instead just use a single
function entry point to the the API.
|
|
|
|
| |
This allows u_sampler_view_default_dx9_template to do its magic on DX9.
|
|
|
|
|
|
| |
Everybody should respect max_index, specially llvm generated code, which
likes to eat vertices 4 at a time, so it may end up chew a bit a bit more
than actually exists.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Transfer, being now a context operation, should happen in order with
all other contexts operations. If there is rendering pending on the
resource then the driver must flush and potentially wait itself
internally.
Instead of avoiding using transfers internally (as done in llvmpipe) I've
opted to simply pass PIPE_TRANSFER_UNSYNCHRONIZED in all internal
transfers, to avoid infinite recursion.
|
|
|
|
| |
Recognize PIPE_TRANSFER_UNSYNCHRONIZED and PIPE_TRANSFER_DONTBLOCK.
|
| |
|
| |
|
|
|
|
|
| |
Array formats without for channels were being advanced as four channels,
causing buffer overflows.
|
|
|
|
|
| |
The un-optimized path relies on surface_fill which can only handle formats
with depth <= 32, so it is pointless to keep it around.
|
| |
|
|
|
|
| |
It should be just cosmetic.
|
|
|
|
|
| |
Unfortunately there are some heavy limitations on supported render target
formats due to the way clear values are used internally.
|
|
|
|
| |
Irrelevant now that llvmpipe and softpipe grew so far apart.
|
|
|
|
| |
'llvm' suffix unnecessary now that the C sampling version disappeared.
|
|
|
|
| |
Add GL/internal/dri_interface.h for __DRI_TEXTURE_FORMAT_RGB.
|
|
|
|
| |
Avoid hiding existing variable already named info in outer scope.
|
|
|
|
|
|
| |
bo_legacy->tobj cannot be NULL before the call to driUpdateTextureLRU.
There is a NULL check earlier in the routine, and if bo_legacy->tobj is
NULL, memory is allocated.
|
|
|
|
|
|
| |
info cannot be NULL at the call to debug_printf. emit_instruction
dereferences info, so at debug_printf it is either not NULL or the
program has already crashed.
|