| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
also don't mark them as 'user', because they will be uploaded through
the translate fallback anyway.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The motivation behind this is to add some self-documentation in the code
about how each CAP can be used.
The idea is:
- enum pipe_cap is only valid in get_param
- enum pipe_capf is only valid in get_paramf
Which CAPs are floating-point have been determined based on how everybody
except svga implemented the functions. svga have been modified to match all
the other drivers.
Besides that, the floating-point CAPs are now prefixed with PIPE_CAPF_.
|
|
|
|
|
| |
Only i965g does not enable GLSL, but that driver has been unmaintained and
bitrotting for quite a while anyway.
|
|
|
|
|
|
|
|
|
|
| |
They're not supported by hw directly, but it's easy to emulate
them with a shader swizzling fixup.
Signed-off-by: Vasily Khoruzhick <[email protected]>
[danvet: The important thing is to write a 1 to the unused alpha
channel, the ddx is relying on this for render accel.]
Signed-off-by: Daniel Vetter <[email protected]>
|
|
|
|
| |
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
|
| |
It's intended to indicate whether the driver/hardware supports reading
of the values written into shader outputs.
Signed-off-by: Vadim Girlin <[email protected]>
|
| |
|
|
|
|
|
|
|
|
| |
And update r300g.
This is different from util_draw_max_index in how it obtains vertex elements
and that it doesn't have to call util_format_description due to additional
precomputed data in vertex elements.
|
|
|
|
|
|
| |
This forks vbo_get_minmax_index. We need to know the index range when
translating non-native vertices into native ones. There is no other way
around it.
|
| |
|
| |
|
|
|
|
| |
It will use the index buffer soon.
|
| |
|
| |
|
|
|
|
|
|
|
| |
The CS checker doesn't check the regs and the state-tracker-provided values
are not to be trusted.
This also removes the hack for non-zero index bias.
|
|
|
|
| |
It's not really useful to have non-zero there.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge may produce incorrect order of operations for r600-eg:
x: inst1 R0.x, ... ; //from current group
...
t: inst0 R0.x, ... ; //from previous group, same destination
Result of inst1 will be lost.
So compare destinations and don't allow this.
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
| |
Signed-off-by: Ben Skeggs <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't assert/die if a VBO is too small. Return zero instead. For
debug builds, emit a warning message since this is an unusual situation
that might indicate that there's a bug in the app.
Note that util_draw_max_index() now returns max_index+1 instead of
max_index. This lets us return zero to indicate that one of the VBOs
is too small to draw anything.
Fixes a failure with the new piglit vbo-too-small test.
Reviewed-by: José Fonseca <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need something that looks like a compiler and not like some hacker
put some functions together. /rant
This is a band-aid for these two problems:
- The R600 and EG control-flow instructions appear in switch statements
next to each other, causing conflicts when adding new instructions.
- The ALU control-flow instructions are bitshifted by 3 (from CF_INST 26:29
to CF_INST 23:29, as is defined by r600 ISA) even for EG, where CF_INST
is 22:29.
To fix this mess, the 'inst' field is bitshifted to the left either by 22, 23,
or 26 (directly in the definitions), such that it can be just or'd when making
bytecode without any shifting. All switch statements have been divided into
two, one for R600 and the other for EG.
Of course, there is a better way to do this, but that is left for future
work.
Tested on RV730 and REDWOOD with no regressions.
v2: minor cleanup as per Alex's comment.
Reviewed-by: Alex Deucher <[email protected]>
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Cayman is 16 as well.
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
|
|
|
| |
According to evergreen-isa doc 16 is max value for evergreen.
More than 16 doesn't work for me.
Signed-off-by: Vadim Girlin <[email protected]>
|
| |
|
| |
|
|
|
|
| |
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
|
|
| |
Most of the code was alright, but we were missing a few paths.
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
|
|
|
|
| |
Also, actually update const_storage_size, therefore avoiding to
unnecessarily reallocate aligned_constant_storage every single time
draw_vs_set_constants() is called.
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
|
|
| |
ary_ge_arx_arz is already set earlier.
Reviewed-by: Brian Paul <[email protected]>
|
|
|
|
|
| |
Necessary with build against LLVM 2.6, with recent gcc, as LLVM headers
depend on ptrdiff_t but don't properly include stddef.h
|
|
|
|
|
|
|
|
|
|
| |
I messed up adding the ubyte->float conversion.
This fixes getteximage-formats
https://bugs.freedesktop.org/show_bug.cgi?id=42837
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
| |
Signed-off-by: Alex Deucher <[email protected]>
|
|
|
|
| |
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
| |
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
| |
Emit MOVA* instruction only when AR is used.
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
| |
This will disallow moving them to the trans slot in merge_inst_groups
Signed-off-by: Vadim Girlin <[email protected]>
|
|
|
|
|
|
|
| |
v2: check if pipe_buffer_map() returns NULL, and return NULL from
svga_vbuf_render_map_vertices(). Per Jose's suggestion.
Reviewed-by: José Fonseca <[email protected]>
|
|
|
|
|
| |
If the vbuf backend fails to allocate a vertex buffer, don't crash
or assert.
|
|
|
|
| |
Don't crash if we fail to allocate a vertex buffer.
|
|
|
|
| |
get_query_result doesn't reset the result. Only begin_query does.
|
| |
|
| |
|