| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
They can be done outside of the pipeline. Move them and let the pipeline
focus on building commands.
|
|
|
|
|
|
|
| |
SOL_RESET happens before bo execution. It should not be observed by the
commands that are already in the bo.
Move the code out of the pipeline now that it submits.
|
|
|
|
| |
It can be done outside of the pipeline. Let's move it.
|
|
|
|
| |
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
|
|
|
|
| |
And config query and DRM_CONF_SHARE_FD to both mega-driver and
traditional build configs, so that EGL_EXT_image_dma_buf_import
works.
Signed-off-by: Rob Clark <[email protected]>
|
|
|
|
|
|
|
|
| |
We used different lists for different types of queries because we wanted to
update software queries quickly. Now that there is no software queries, we
are fine with a single list.
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
|
|
| |
Read PIPE_QUERY_PRIMITIVES_GENERATED and PIPE_QUERY_PRIMITIVES_EMITTED from
hardware registers. Because all queries now have a bo, remove unnecessary
checks for q->bo.
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
|
| |
Add support for PIPE_QUERY_PRIMITIVES_GENERATED and
PIPE_QUERY_PRIMITIVES_EMITTED in ilo_3d_pipeline_emit_query().
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
It replaces
ilo_3d_pipeline_emit_write_timestamp(),
ilo_3d_pipeline_emit_write_depth_count(), and
ilo_3d_pipeline_emit_write_statistics().
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
|
| |
This fixes some corner cases, but more importantly, the new code should be
easier to reason about.
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
|
| |
Make it own()'s responsibility to make room for release() and itself. To be
able to do that, allow ilo_cp_submit() in own().
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
| |
It saves quite some typings.
|
|
|
|
| |
Add ilo_3d_draw_rectlist() for use by RECTLIST blitter.
|
|
|
|
|
| |
We need ilo_builder for command building and ilo_cp for size check.
ilo_context is not used.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Move pipe states in ilo_context to the new ilo_state_vector. The motivation
is that ilo_context consists of several loosely related things. When we need
an ilo_context somewhere, we usually need only one or two of the things in it.
This change makes ilo_state_vector one such thing.
An immediate result is that we no longer need ilo_context in 3D pipelines,
something we have planned for since early days.
|
|
|
|
|
| |
Move the #define's and struct's to ilo_state.h. Move the inline functions and
function declarations to ilo_state_gen.h.
|
|
|
|
| |
Rename them to ilo_state_gen*.[ch].
|
|
|
|
| |
It is manipulated only in ilo_screen.c.
|
|
|
|
| |
Fixes the mesa reflect demo and 6 tests under interpolation/
|
|
|
|
| |
I need to get the non-reciprocal version of W for interpolation, anyway.
|
|
|
|
|
|
| |
It has been a bad name since we added the builder. Rename it to
ILO_DEBUG=batch to match i965, and call ilo_builder_decode() from
ilo_cp_submit_internal().
|
|
|
|
|
|
| |
"Flush" is used for too many things already: pipe resource flush, pipe context
flush, pipe transfer region flush, and hardware pipeline flush. Rename it to
ilo_cp_submit(). As such, ILO_DEBUG=flush is renamed to ILO_DEBUG=submit.
|
|
|
|
| |
Call ilo_builder_batch_used() directly.
|
|
|
|
|
|
| |
The simplification allows us to get rid of ilo_cp_set_ring() and
ilo_cp_implicit_flush(). The 3D query code is refactored for the
simplification.
|
|
|
|
|
|
|
| |
While depth test state is passed through the fragment shader as sideband,
data, the stencil test state has to be set by the fragment shader itself.
Many tests are still failing, but this gets most of hiz/ passing.
|
| |
|
|
|
|
|
| |
Fixes 12 piglit tests (and 8 more crash -> fail) from reducing register
pressure.
|
|
|
|
| |
Prevents regression when I start doing copy propagation on uniforms.
|
| |
|
|
|
|
|
|
| |
This allows for introducing dead code eliminating of uniforms, copy
propagation of uniforms, and instruction rescheduling between instructions
that both read uniforms.
|
|
|
|
|
|
|
| |
This is particularly important for outputs, where we try to MOV the whole
vec4 to the VPM, even if only 1-3 components had been set up. It might
also be important for temporaries, if the shader reads components before
writing them.
|
|
|
|
| |
Somehow I slipped this in with the original commit of CSE.
|
|
|
|
|
|
|
|
| |
This gets a ton of piglit working that crashes in waffle context
management stuff otherwise. Actually supporting mismatched FB sizes is at
best going to require some more load/store generals for color buffers, but
if I can't manage to do that I'll want to just have state_tracker reject
those FBOs as unsupported, rather than deny GL 2.1.
|
| |
|
|
|
|
|
| |
I'm going to be rewriting it all, and having it mixed up with the
QIR-to-QPU opcode translation was messy.
|
|
|
|
| |
Fixes piglit glsl-1.10-fragdepth and early-z.
|
|
|
|
|
|
| |
The goal here is to have an argument for the depth write opcode so that I
can do computed depth. In the process, this makes the calculations that
will be emitted more obvious in the QIR.
|
|
|
|
|
|
| |
Compiler taken from the combo old/new compiler comparer + simulator.
Signed-off-by: Ilia Mirkin <[email protected]>
|
|
|
|
| |
Signed-off-by: Ilia Mirkin <[email protected]>
|
|
|
|
|
|
|
|
| |
The triangle_32_ rast functions never made it into the debug output,
confused me for a few seconds.
Reviewed-by: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
llvmpipe treats PIPE_FORMAT_Z32_FLOAT_S8X24_UINT as a bit of a special case,
handling it as two 32-bit pieces rather than a single 64-bit block:
/* 64bit d/s format is special already extracted 32 bits */
total_bits = format_desc->block.bits > 32 ? 32 : format_desc->block.bits;
The format_desc describes the whole 64-bit block, so the z shift
will be 32 for big-endian. But since we're accessing the z channel
as a 32-bit value rather than a 64-bit value, we need to mask the shift
with 31.
Signed-off-by: Richard Sandiford <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
| |
This query has always been useless, but we could potentially reject
well-formed, runnable programs if we expose a value that's too low.
|
|
|
|
|
|
| |
We don't have any specific limits in the hardware, just like the other
GPUs, so match their behavior. Fixes minmax_gles2 and several other
piglit tests relying on the specced uniform minmax values.
|
|
|
|
|
| |
Fixes buffer overflows in some piglit tests (which are still failing to
register allocate anyway).
|
| |
|
| |
|
|
|
|
|
| |
Fixes redefinition warnings if you end up including this header before
util stuff.
|
|
|
|
| |
Mostly style changes to set dw[0] directly.
|
|
|
|
| |
There was a typo introduced by 90f4b131fccae3a950864ed9ba15eea8edce915f.
|