Age | Commit message (Collapse) | Author |
|
So texture code can be shared btw new state design
& old one.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
|
|
When ir_binop_all_equal and ir_binop_any_nequal were introduced, the
meaning of these two opcodes changed to return vectors rather than a
single scalar, but the constant expression handling code was incorrectly
written and only worked for scalars. As a result, only the first
component of the returned vector would be properly initialized.
|
|
|
|
|
|
|
|
Such as: "ir_validate.cpp:143: warning: format ‘%p’ expects type ‘void*’,
but argument 2 has type ‘ir_variable*’"
|
|
This reverts commit c32bac57ed445e48856d74113364287ed6e5cdd4
and silences the warning differently.
The _mesa_reference_texobj() function is called quite a bit and
we don't want to call valid_texture_object() all the time in non-
debug builds.
|
|
|
|
|
|
Count int and float constants independently. Since there are only
few i# constants available and hundreds of c# constants, it would
be too easy to end up with an i# declaration out of its range.
|
|
Pixel shaders do not have address registers a#, only one
loop register aL. Our only hope is to assume the address
register is in fact a loop counter and replace it with aL.
Do not translate ARL instruction for pixel shaders -- MOVA
instruction is only valid for vertex saders.
Make it more explicit relative addressing of inputs is only valid
for pixel shaders and constants for vertex shaders.
|
|
|
|
I didn't do r600d according to the docs; I split EXPORT_MODE to be a bit more
useful and obvious. Hope this is okay.
|
|
|
|
|
|
r600c emits this with a mask of each written output.
|
|
this fixes fbo-cubemap on r700.
|
|
|
|
|
|
needed to emit some more relocs to the kernel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
we were leaking buffers since the flush code was added, it wasn't dropping references.
move setting up flush to the set_framebuffer_state.
clean up the flush state object.
make more space in the BOs array for flushing.
|
|
|
|
this just uses the common code from r300g now in util to do translations on r600g.
|
|
These can be used by other drivers, like r600g.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
|
|
|
|
|
|
|
This reverts commit a1d9a58b825825723f1c5f7705f2ed3ef834038a.
Flushing the upload buffers on draw is wrong, uploads aren't supposed to
cause flushes in the first place. The real issue was
radeon_bo_pb_map_internal() not respecting PB_USAGE_UNSYNCHRONIZED.
|
|
|
|
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
|
|
Depth-only and stencil-only clears should mask out depth/stencil from the
output, mask out stencil/input from input, and OR or ADD them together.
However, due to a typo they were being ANDed, resulting in zeroing the buffer.
|
|
Unless e.g. PB_USAGE_DONTBLOCK or PB_USAGE_UNSYNCHRONIZED would be specified.
|
|
radeon_ws_bo_map() will already take care of that if needed.
|
|
radeon_bo_pb_map_internal().
Having a non-NULL data pointer doesn't imply it's safe to reuse that mapping,
it may have been unmapped but not flushed yet.
|
|
If a upload buffer is used by a previous draw that's still in the CS,
accessing it would need a context flush. However, doing a context flush when
mapping the upload buffer would then flush/destroy the same buffer we're trying
to map there. Flushing the upload buffers before a draw avoids both the CS
flush and the upload buffer going away while it's being used. Note that
u_upload_data() could e.g. use a pool of buffers instead of allocating new
ones all the time if that turns out to be a significant issue.
|
|
This enables EGL_MESA_drm_display for st/egl in the default setup.
|
|
s/kms/drm/, s/kdpy/drmdpy/, and so forth.
|
|
The main use of the backend is to support EGL_MESA_drm_display. drm
should be a better name.
|
|
The modeset code supports now obsolete EGL_MESA_screen_surface. Move it
to a file of its own.
|
|
|
|
On r6xx if an MOVA instruction is emitted we should set this bit.
|