for texture uploads which
require excess flushing to be omitted in order to perform properly.
Now that clears and blits make the decision independently that also
becomes easier.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 7
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c
b/src/mesa/drivers/dri/i965/brw_context.c
index bb84102..75d4920
ble on gen < 6.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_compute.c | 2 ++
src/mesa/drivers/dri/i965/brw_context.c | 2 +-
src/mesa/drivers/dri/i965/brw_context.h | 2 ++
src/mesa/drivers/dri/i965/brw_draw.c | 2
instead of unconditional render cache flush.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 23 ---
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/sr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8
src/mesa/drivers/dri/i965/intel_tex_image.c| 10 --
src/mesa/drivers/dri/i965/intel_tex_subimage.c | 11 +--
3 files changed, 21 insertions
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c | 15 +++
src/mesa/drivers/dri/i965/brw_draw.c| 34 -
2 files changed, 15 insertions(+), 34 deletions(-)
diff --git a/src/mesa/drivers/dr
This ensures that all rendering is finished and gpu caches are
flushed out. These are paths trying to switch to blit engine.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_blit.c | 16
src/mesa/drivers/dr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c | 101
1 file changed, 51 insertions(+), 50 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c
b/src/mesa/drivers/dri/i965/brw_context.c
to be rather careful with it - performance
gets decreased noticeably when used unneeded.
I don't really know if we want to go this way myself even. Current
logic - while not ideal - is rather simple.
Topi Pohjolainen (16):
i965/miptree: Tell if anything got resolved
i965/gen6+: Implement end-of-pipe
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8 ++--
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
without the driver necessarily knowing.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c | 113
1 file changed, 99 insertions(+), 14 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c
Implementation for gen < 6 is taken as copy-paste from
brw_emit_mi_flush() in order to preserve the behavior in later
patches.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.h | 1 +
src/mesa/drivers/dri/i965/brw_pipe_contr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c | 80 +++--
1 file changed, 47 insertions(+), 33 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_context.c
b/src/mesa/drivers/dri/i965/brw_context.c
with blorp tex uploads
(HSW with piglit test max-samplers). One runs out of space while
batch wrapping isn't allowed.
v2: Rebase on top of current upstream
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Kenneth Graunke <kenn...@whitecape.org>
CC: Jason Ekstrand <ja...
,
it is handled by _mesa_image_offset() automatically (Ken).
- Support 1D_ARRAY by flipping depth, width and y, z (Ken).
CC: Kenneth Graunke <kenn...@whitecape.org>
CC: Anuj Phogat <anuj.pho...@gmail.com>
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mes
CC: Francisco Jerez <curroje...@riseup.net>
CC: Kenneth Graunke <kenn...@whitecape.org>
CC: Jason Ekstrand <ja...@jlekstrand.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/genX_blorp_exec.c | 3 +++
1 file changed, 3 inserti
LIDATE |
PIPE_CONTROL_CS_STALL;
}
brw_emit_pipe_control_flush(brw, flags);
v2 (Jason): Check that destination exists before trying to add to
render cache. Depth clears and resolves don't have it.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/driv
the stalls and flushes mandated by the spec
and gets rid of those hangs.
v2 (Jason, Ken): Document the rational for separating
depth cache flush and stall on Gen7.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_cle
that the
current unconditional flushing is hiding the need for these.
CC: Kenneth Graunke <kenn...@whitecape.org>
CC: Jason Ekstrand <ja...@jlekstrand.net>
CC: Mark Janes <mark.a.ja...@intel.com>
Topi Pohjolainen (4):
i965/blorp: Do pre-draw flush with two pipe-control writes
the stalls and flushes mandated by the spec
and gets rid of those hangs.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_clear.c| 38 ++--
src/mesa/drivers/dri/i965/gen8_depth_state.c | 16
2 files changed, 46
LIDATE |
PIPE_CONTROL_CS_STALL;
}
brw_emit_pipe_control_flush(brw, flags);
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/genX_blorp_exec.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/genX_blo
);
brw_emit_pipe_control_flush(brw,
PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE |
PIPE_CONTROL_CONST_CACHE_INVALIDATE);
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_clear.c | 7 ++-
ache flush with command stream stall
should be sufficient.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 22 ++
src/mesa/drivers/dri/i965/genX_blorp_exec.c | 5 -
2 files changed, 22 insertions(+), 5 de
In addition, let intel_miptree_create_layout() release the
miptree - it is the allocator.
CC: Jason Ekstrand <ja...@jlekstrand.net>
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_tex_layout.c| 10 +-
src/mesa/driv
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c| 6 +-
src/mesa/drivers/dri/i965/brw_misc_state.c | 4 +-
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 4 +-
src/mesa/drivers/dri/i965/gen6_depth_state.c
Gen8 and Gen9 are already more heavily constrained as one
applies arrayed/mipmapped alignment even for non-arrayed and
non-mipmapped.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/intel/isl/isl_gen7.c | 39 +++
1 file chang
Now the last user of intel_miptree_get_aux_isl_surf() is gone.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 5 +-
src/mesa/drivers/dri/i965/intel_mipmap_tree.c| 77
src/mesa/drivers/dr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 8
src/mesa/drivers/dri/i965/brw_tex_layout.c| 19 +--
src/mesa/drivers/dri/i965/gen6_depth_state.c | 4 ++--
src/mesa/drivers/dr
Hardware state setup only needs offset and pitch and ignores the
rest.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 57 ---
1 file changed, 20 insertions(+), 37 deletions(-)
diff --git a/src/mesa/d
plied on Gen9 for consistency sake.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/intel/isl/isl_gen7.c | 16
src/intel/isl/isl_gen8.c | 16
src/intel/isl/isl_gen9.c | 16
3 files changed, 48 insertions(+)
diff --git a/src/int
In intel_hiz_miptree_buf_create() the miptree is unconditionally
created with MIPTREE_LAYOUT_FORCE_ALL_SLICE_AT_LOD.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/gen6_depth_state.c | 13 ++---
1 file changed, 6 insertions(+), 7 del
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 21 -
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/src/mesa/drivers/dri/i965/brw_blorp.c
index 2001cf3..6
In intel_hiz_miptree_buf_create() intel_miptree_aux_buffer::bo
is unconditionally initialised to point to the same buffer
object as hiz_mt does. The same goes for
intel_miptree_aux_buffer::pitch/qpitch.
This will make following patches simpler to read.
Signed-off-by: Topi Pohjolainen
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 25 -
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 6 ++
2 files changed, 18 insertions(+), 13 deletions(-)
diff --git a/src/mesa/drivers/dr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c| 4 +-
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 3 +-
src/mesa/drivers/dri/i965/intel_mipmap_tree.c| 47 +++-
src/mesa/drivers/dr
because buffers get unconditionally initialised by cpu writing.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_
This changes the size of the auxiliary buffer on gen7 and gen8
for arrayed surfaces. Current i965 logic uses qpitch height per
slice whereas ISL knows that msaa is never mipmapped and more
compact layout is sufficient.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
sr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 13 +---
src/mesa/drivers/dri/i965/gen6_depth_state.c | 8 -
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 43 +--
src/mesa/drivers/dr
The apparent hack adding unconditionally two lines into cube
maps is taken directly from align_cube().
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_tex_layout.c| 39 +++
src/mesa/drivers/dri/i965/intel_mipmap_
dropping dependency to intel_miptree_get_aux_isl_surf().
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/sr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 67 ---
1 file changed, 41 insertions(+), 26 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
b/src/mesa/drivers/dr
-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 10 --
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/src/mesa/drivers/dri/i965/brw_blorp.c
index 8d58616..9c4b8fa 100644
--- a/src/mesa/d
This is kept on purpose in i965. It can be moved to ISL if it
is needed in vulkan.
Pointers to miptrees are given solely for verification purposes.
These will be dropped in following patches.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dr
Such as comment states for intel_miptree_hiz_buffer::mt, hiz_mt
only exists for gen6. In addition, intel_hiz_miptree_buf_create()
uses MIPTREE_LAYOUT_FORCE_ALL_SLICE_AT_LOD unconditionally.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_b
There are is no alternative.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/gen6_depth_state.c | 22 --
1 file changed, 8 insertions(+), 14 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen6_depth_state.c
b/src/mesa/d
something of that sort.
Patch 23 starts using ISL for MCS and the rest for HIZ.
I tried to make individual steps as small as possible adding
temporary asserts checking that newly added calculations matched
the current.
Topi Pohjolainen (27):
i965/meta: Remove unused brw_get_rb_for_slice()
i9
There exact same check earlier in brw_miptree_layout() which
intel_miptree_create_layout() in turn calls unconditionally.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 7 +--
1 file changed, 1 insertion(+), 6 del
Only caller, brw_workaround_depthstencil_alignment(), returns
early for gen6+.
While at it, reduce scope for brw_get_depthstencil_tile_masks() as
well.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.h| 6 --
src/mesa/drive
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_meta_util.c | 44 ---
src/mesa/drivers/dri/i965/brw_meta_util.h | 5
2 files changed, 49 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_meta_util.c
This is kept on purpose in i965. It can be moved to ISL if it
is needed in vulkan.
Pointers to miptrees are given solely for verification purposes.
These will be dropped in following patches.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dr
which is not applicable for "all slices at each lod". Current
logic makes one to believe it has some purpose. When miptree
layout is calculated brw_miptree_layout_texture_array() sets
the qpitch unconditionally but later on ignores it altogether
for ALL_SLICES_AT_EACH_LOD.
Signed-of
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_pixel_read.c | 16 ++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c
b/src/mesa/drivers/dri/i965/intel_pixel_read.c
ast there aren't any jenkins
regressions.
Topi Pohjolainen (9):
i965: Refactor surface resolves prior to draw call
i965: Consider surface resolves just before draw
intel/blorp/dbg: Name blit shaders for easy recognition in dumps
i965: Estimate batch space per shader stage
meta: Refactor text
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_tex.h | 8 +
src/mesa/drivers/dri/i965/intel_tex_subimage.c | 194 +
2 files changed, 202 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/intel_tex.h
but only the internal driver state.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Kenneth Graunke <kenn...@whitecape.org>
CC: Jason Ekstrand <ja...@jlekstrand.net>
CC: Ben Widawsky <b...@bwidawsk.net>
---
src/mesa/drivers/dri/i965/brw_compute.c | 1 +
s
with blorp tex uploads
(HSW with piglit test max-samplers). One runs out of space while
batch wrapping isn't allowed.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Kenneth Graunke <kenn...@whitecape.org>
CC: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mes
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_tex_image.c| 24 +++-
src/mesa/drivers/dri/i965/intel_tex_subimage.c | 19 +--
2 files changed, 12 insertions(+), 31 deletions(-)
diff --git a/src/mesa/d
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/common/meta_tex_subimage.c | 9 +++--
src/mesa/main/glformats.c | 15 +++
src/mesa/main/glformats.h | 4
3 files changed, 22 insertions(+), 6 del
Blorp clears already have an equivalent.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/intel/blorp/blorp_blit.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/intel/blorp/blorp_blit.c b/src/intel/blorp/blorp_blit.c
index 8abe3a8..9dcd33f 100644
--- a/src
to _mesa_store_teximage()
as well.
This, however, leads to performance regressions in few benchmarks,
especially with Synmark OglDrvRes. Therefore intel_texsubimage_gpu_copy
is only used to replace the meta path for now.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drive
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_tex_subimage.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/intel_tex_subimage.c
b/src/mesa/drivers/dri/i965/intel_tex_subimage.c
index f999a93..7
and move it to brw_draw.c where it will be eventually used.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c | 174 +--
src/mesa/drivers/dri/i965/brw_draw.c| 178
sr
Otherwise subsequent render cycles keep on using compression
and/or fast clear.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Kalyan Kondapally <kalyan.kondapa...@intel.com>
CC: Kenneth Graunke <kenn...@whitecape.org>
---
src/mesa/drivers/dri/i965/intel
on when the actual functionality is enabled.
v2: Rebased on top current master setting the state in
blorp_surf_for_miptree().
v3: Replace open-coded resolved check in surface state emission
with intel_miptree_has_color_unresolved().
Signed-off-by: Topi Pohjolainen <topi.pohjo
unnecessary intel_miptree_set_fast_clear_state() call
in brw_blorp_resolve_color() preventing
intel_miptree_set_fast_clear_state() from asserting
against RESOLVED.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ek
One can now also delete intel_get_non_msrt_mcs_alignment().
v2 (Jason): Do not leak aux buf but allocate only after getting
ISL surfaces.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c
v2: Make intel_miptree_resolve_color() take start layer and
layer count.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 13 ++-
src/mesa/drivers/dri/i965/brw_blorp.h | 3 ++-
src/mesa/drivers/dr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 15 +--
src/mesa/drivers/dri/i965/brw_blorp.h | 3 ++-
src/mesa/drivers/dri/i965/brw_context.c | 14 +-
src/mesa/drivers/dri/i965/intel_
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/brw_draw.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_draw.c
b/src/mesa/driv
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 8
1 file changed, 8 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/src/mesa/drivers/dri/i965
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 43 +--
1 file changed, 27 insertions(+), 16 deletions(-)
diff --git a/src/mesa/driv
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 5 +
2 files changed, 13 insertions(+)
diff --git a/src/
ON BDW:
Manhattan 3.0: 1.37079% +/- 0.571208%
Manhattan 3.0 off: 1.74029% +/- 0.267499%
v2 (Ben, Matt): Fix rebase error by removing the perf warning
v3 (Topi): Rebased on top of revised eligibility logic
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Ja
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 4 ++--
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 23 +--
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 3 ++-
3 files changed, 17 insertions(
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
index 1c8ce0d..d
One can now also delete intel_get_non_msrt_mcs_alignment().
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 138 +++---
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 4 -
2 files changed, 38 inse
Originally re-clears where skipped but when lossless compression
was introduced the re-clears where errorneously enabled also for
non-compressed fast clears.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Ben Widawsky <benjamin.widaw...@intel.com>
CC: Kenneth G
This patch also introduces getter and setter for fast clear state
preparing for tracking the state per slice.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 3 +-
src/mesa/drivers/dri/i965/brw_draw.c | 10 +++--
on when the actual functionality is enabled.
v2: Rebased on top current master setting the state in
blorp_surf_for_miptree().
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> (v1)
---
src/mesa/drivers/dri/i965
v2: Added intel_resolve_map_clear() into intel_miptree_release()
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> (v1)
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 64 +++
src/mesa/driv
Status is still tracked per miptree. Next patch will switch to
resolve map per slice/level.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 58
setting the state in
blorp_surf_for_miptree().
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> (v1)
---
src/mesa/drivers/dri/i965/brw_blorp.c| 8 ++--
src/mesa/drivers/dri/i965/brw_draw.c |
own boolean.
Possible follow-up work is to combine disable_aux_buffers and
no_ccs into single enum.
v2 (Jason): Changed no_msrt_mcs to no_ccs and updated comment
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 2 +-
src/mesa/d
Upcoming patches will introduce fast clear in level/layer
granularity like the driver does already for depth/hiz. This patch
introduces equivalent full resolve option.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_context.c| 6 +++--
This is a rebase on top recent changes by Jason and Lionel. While
things have changed quite a bit in some of the patches they have
mostly become clearer.
Ben Widawsky (1):
i965: Enable fast clears for multi-lod
Topi Pohjolainen (16):
i965: Refactor lossless compression state tracking
i965
Needed to prevent gpu hangs when mip-mapped compression gets
enabled.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Jason Ekstrand <ja...@jlekstrand.net>
---
src/intel/blorp/blorp_clear.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src
l, and therefore such is created. Generation for level one in
turn finds right base level size but only one level when two is needed.
And the same goes on for all eight levels.
This patch prevents the shrink maintaining the NPOT size of 293x277.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@i
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 35 ---
1 file changed, 32 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_m
and the latter
for qpitch.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
CC: Jason Ekstrand <ja...@jlekstrand.net>
---
src/mesa/drivers/dri/i965/brw_tex_layout.c | 68 +++-
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +-
src/mesa/driv
ON BDW:
Manhattan 3.0: 1.37079% +/- 0.571208%
Manhattan 3.0 off: 1.74029% +/- 0.267499%
v2 (Ben, Matt): Fix rebase error by removing the perf warning
v3 (Topi): Rebased on top of revised eligibility logic
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
Reviewed-by: Ja
From: Ben Widawsky <b...@bwidawsk.net>
v2 (Jason):
- Use PRM citation for SKL now that it is available
- Also return false for gen < 8 mipmapped/arrayed
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mip
From: Ben Widawsky
On SKL (also fast clear is used for level 0, layer 0):
Manhattan 3.0: 3.88434% +/- 0.814659%
Manhattan 3.0 off: 3.25542% +/- 0.101149%
Trex: 3.43501% +/- 0.31223%
Trex off: 4.13781% +/- 0.0993569%
ON BDW:
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c | 8
1 file changed, 8 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c
b/src/mesa/drivers/dri/i965/brw_blorp.c
index 526c8ec..452efef 100644
--- a/src/mesa/d
on when the actual functionality is enabled.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_blorp.c| 32 +-
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 34
2 files changed, 42 inse
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/intel/blorp/blorp.h | 2 ++
src/intel/blorp/blorp_blit.c | 6 ++
src/mesa/drivers/dri/i965/brw_blorp.c | 25 -
3 files changed, 28 insertions(+), 5 deletions(-)
diff
and the latter
for qpitch.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/brw_tex_layout.c | 68 +++-
src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +-
src/mesa/drivers/dri/i965/intel_mipmap_tree.c
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/intel/isl/isl.c | 3 +--
src/mesa/drivers/dri/i965/brw_blorp.c | 6 +++---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 23 +--
src/mesa/drivers/dr
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com>
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 8
src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 5 +
2 files changed, 13 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
b/src/mesa/d
From: Ben Widawsky
Signed-off-by: Ben Widawsky
---
src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 51 ++-
1 file changed, 34 insertions(+), 17 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
301 - 400 of 1099 matches
Mail list logo