i965: Move framebuffer fetch to the new resolve functions
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Chad Versace <chadversary@chromium.org>
This commit is contained in:
@@ -285,10 +285,8 @@ intel_update_state(struct gl_context * ctx, GLuint new_state)
|
||||
intel_renderbuffer(fb->_ColorDrawBuffers[i]);
|
||||
|
||||
if (irb) {
|
||||
intel_miptree_resolve_color(brw, irb->mt,
|
||||
irb->mt_level, 1,
|
||||
irb->mt_layer, irb->layer_count,
|
||||
INTEL_MIPTREE_IGNORE_CCS_E);
|
||||
intel_miptree_prepare_fb_fetch(brw, irb->mt, irb->mt_level,
|
||||
irb->mt_layer, irb->layer_count);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2431,11 +2431,13 @@ intel_texture_view_requires_resolve(struct brw_context *brw,
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
intel_miptree_prepare_texture(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt,
|
||||
mesa_format view_format,
|
||||
bool *aux_supported_out)
|
||||
static void
|
||||
intel_miptree_prepare_texture_slices(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt,
|
||||
mesa_format view_format,
|
||||
uint32_t start_level, uint32_t num_levels,
|
||||
uint32_t start_layer, uint32_t num_layers,
|
||||
bool *aux_supported_out)
|
||||
{
|
||||
bool aux_supported;
|
||||
if (_mesa_is_format_color_format(mt->format)) {
|
||||
@@ -2447,13 +2449,34 @@ intel_miptree_prepare_texture(struct brw_context *brw,
|
||||
aux_supported = intel_miptree_sample_with_hiz(brw, mt);
|
||||
}
|
||||
|
||||
intel_miptree_prepare_access(brw, mt, 0, INTEL_REMAINING_LEVELS,
|
||||
0, INTEL_REMAINING_LAYERS,
|
||||
intel_miptree_prepare_access(brw, mt, start_level, num_levels,
|
||||
start_layer, num_layers,
|
||||
aux_supported, aux_supported);
|
||||
if (aux_supported_out)
|
||||
*aux_supported_out = aux_supported;
|
||||
}
|
||||
|
||||
void
|
||||
intel_miptree_prepare_texture(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt,
|
||||
mesa_format view_format,
|
||||
bool *aux_supported_out)
|
||||
{
|
||||
intel_miptree_prepare_texture_slices(brw, mt, view_format,
|
||||
0, INTEL_REMAINING_LEVELS,
|
||||
0, INTEL_REMAINING_LAYERS,
|
||||
aux_supported_out);
|
||||
}
|
||||
|
||||
void
|
||||
intel_miptree_prepare_fb_fetch(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt, uint32_t level,
|
||||
uint32_t start_layer, uint32_t num_layers)
|
||||
{
|
||||
intel_miptree_prepare_texture_slices(brw, mt, mt->format, level, 1,
|
||||
start_layer, num_layers, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
intel_miptree_prepare_render(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt, uint32_t level,
|
||||
|
||||
@@ -1051,6 +1051,10 @@ intel_miptree_prepare_texture(struct brw_context *brw,
|
||||
mesa_format view_format,
|
||||
bool *aux_supported_out);
|
||||
void
|
||||
intel_miptree_prepare_fb_fetch(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt, uint32_t level,
|
||||
uint32_t start_layer, uint32_t num_layers);
|
||||
void
|
||||
intel_miptree_prepare_render(struct brw_context *brw,
|
||||
struct intel_mipmap_tree *mt, uint32_t level,
|
||||
uint32_t start_layer, uint32_t layer_count,
|
||||
|
||||
Reference in New Issue
Block a user