| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Mostly style changes to set dw[0] directly.
|
|
|
|
| |
There was a typo introduced by 90f4b131fccae3a950864ed9ba15eea8edce915f.
|
|
|
|
|
|
|
|
|
|
|
| |
We might run into ve->count == 0 and last_velement_edgeflag == true in
gen6_3DSTATE_VERTEX_ELEMENTS() when the state tracker sets an invalid
combination of VS and VE (does not seem to happen with st/mesa). Do not
assume ve->count is positive when last_velement_edgeflag is true.
Reported by Coverity.
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
| |
Always initialize the operand array to point to src0, src1, and src2.
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
|
|
| |
One less switch statement to maintain.
Signed-off-by: Chia-I Wu <[email protected]>
|
|
|
|
| |
Add ILO_PRIM_RECTANGLES to replace the rectlist bool.
|
|
|
|
|
|
| |
Rename ilo_builder_batch_state_base_address() to gen6_state_base_address() for
consistency and remove unused gen6_STATE_BASE_ADDRESS(). Reorder the code in
gen6_PIPE_CONTROL() a bit. Finally, some mostly cosmetic changes.
|
|
|
|
|
|
| |
Move functions for the 3D pipeline to the new headers. We artificially split
the functions into top (vertex processing) and bottom (pixel processing), to
keep the headers at reasonable sizes.
|
|
|
|
| |
Move functions for the media pipeline to the new header.
|
|
|
|
| |
Move 3D/media common functions to the new header.
|
|
|
|
|
|
|
|
|
| |
In buf_clear_region() and buf_copy_region(), max_cmd_size was set to 0. If
either of the functions is called and there is not enough space in the
builder, the next ilo_cp_flush() will fail silently in a release build.
Replace magic numbers by size defines in tex_clear_region()/tex_copy_region()
for consistency and readability.
|
|
|
|
|
| |
Intruduce gen6_blt_bo and gen6_blt_xy_bo to describe BOs. In the extreme case
of gen6_XY_SRC_COPY_BLT(), the number of parameters goes down from 18 to 8.
|
|
|
|
| |
Follow the changes for MI functions, but for BLT this time.
|
|
|
|
|
| |
With ilo_builder in place, some conventions we had to build commands are no
longer needed.
|
|
|
|
| |
Follow the changes for MI functions, but for BLT this time.
|
|
|
|
|
| |
Have a centralized place for MI functions, and remove the duplicated
gen6_MI_LOAD_REGISTER_IMM().
|
|
|
|
| |
It replaces ILO_GPE_VALID_GEN().
|
|
|
|
|
| |
It should enable us to do specialized builds by making the accessor return a
constant.
|
|
|
|
| |
They replace READ() and SET_FIELD() that we have been using.
|
|
|
|
| |
The last user has gone away.
|
|
|
|
| |
We cannot pass 0 as the width or height to ilo_gpe_init_view_surface_null().
|
|
|
|
|
|
|
|
|
|
| |
This allows a sampler view to have a different texture target than the
underlying resource. This will be used to implement the type casting
between 2d arrays and cube maps as specified in ARB_texture_view.
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
|
|
|
|
| |
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83777
|
|
|
|
|
|
|
|
| |
The old disassembler was modified from i965's. It is as much work as doing a
new one to keep it up-to-date, which also requires copying more headers over.
The outputs of this new disassembler should match i965's as closely as
possible.
|
|
|
|
|
|
|
|
| |
Add some new registers and some tweaks. The changes that affect ilo are
GEN6_REG_HS_INVOCATION_COUNT -> GEN7_REG_HS_INVOCATION_COUNT
GEN6_REG_DS_INVOCATION_COUNT -> GEN7_REG_DS_INVOCATION_COUNT
GEN6_COND_NORMAL -> GEN6_COND_NONE
|
|
|
|
| |
Signed-off-by: Emil Velikov <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove
ilo_cp_begin()
ilo_cp_steal()
ilo_cp_write()
ilo_cp_write_multi()
ilo_cp_write_bo()
ilo_cp_end()
ilo_cp_steal_ptr()
ilo_cp_assert_no_implicit_flush()
|
|
|
|
|
|
|
| |
Similar to the changes to GEN7 command functions, but to GEN6 this time.
As every GPE function has been converted, remove
ilo_cp_assert_no_implicit_flush() calls.
|
|
|
|
|
|
|
|
|
|
| |
Make these changes
ilo_cp_begin() -> ilo_builder_batch_pointer()
ilo_cp_write() -> direct memory set
ilo_cp_write_bo() -> ilo_builder_batch_reloc()
and use this chance to drop the "_emit_" infix.
|
|
|
|
|
|
|
|
|
| |
Make these changes
ilo_cp_steal_ptr() and memcpy() -> ilo_builder_state_write()
ilo_cp_steal_ptr() -> ilo_builder_state_pointer()
and use this chance to drop the "_emit_" infix.
|
|
|
|
|
|
|
|
|
|
| |
Make these changes
ilo_cp_steal_ptr() and memcpy() -> ilo_builder_surface_write()
ilo_cp_steal() and ilo_cp_write() -> ilo_builder_surface_write()
ilo_cp_write_bo() -> ilo_builder_surface_reloc()
and use this chance to drop the "_emit_" infix.
|
|
|
|
|
|
|
|
|
|
|
| |
Make these changes
ilo_cp_begin() -> ilo_builder_batch_pointer()
ilo_cp_write() -> direct memory set
ilo_cp_write_bo() -> ilo_builder_batch_reloc()
and make sure there is no implicit flush. Use this chance to drop the
"_emit_" infix.
|
|
|
|
|
|
| |
Remove instruction buffer management from ilo_3d and adapt ilo_shader_cache to
upload kernels to ilo_builder. To be able to do that, we also let ilo_builder
manage STATE_BASE_ADDRESS.
|
|
|
|
|
| |
This makes ilo_cp use the builder to manage batch buffers, and use
ilo_builder_decode() to replace ilo_3d_pipeline_dump().
|
|
|
|
|
|
|
|
|
|
|
| |
Comparing to how we manage batch and instruction buffers, the new builder
- does not flush
- manages both types of buffers
- manages STATE_BASE_ADDRESS
- uploads kernels using unsynchronized mapping
- has its own decoder for the buffers
- provides more helpers
|
|
|
|
|
|
| |
Do not require a toy_compiler so that it can be used in other places, such as
state dumping. Add a bool to control whether the raw instruction words are
shown.
|
|
|
|
|
|
|
|
|
|
| |
- include all headers in Makefile.sources
- bundle the android buildscript
Cc: Chia-I Wu <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Chia-I Wu <[email protected]>
Acked-by: Matt Turner <[email protected]>
|
|
|
|
| |
We asked MI commands to use GGTT only on GEN6.
|
|
|
|
| |
Fix max/min entries on GEN7.5 GT2/GT3.
|
|
|
|
|
| |
With e3c251071b0c9396c3ec76d1cf943c60ae297281, the magic values are gone. We
no longer need "cmd" to hide them. Replace it by dw0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the header location, inclusion and contents more common with
its i915,r* and nouveau counterparts:
- Move the header within drivers/ilo.
- Separate out intel_winsys_create_for_fd into 'drm_public' header.
- Cleanup the compiler includes.
v2: Move the header to drivers/ilo. Suggested by Chia-I.
v3: Correct intel_winsys.h inclusion. Spotted by Chia-I.
Cc: Chia-I Wu <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Chia-I Wu <[email protected]>
|
|
|
|
|
| |
Signed-off-by: Timothy Arceri <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
|