瀏覽代碼

Revert "i965: Make the miptree clear color setter take a gl_color_union"

This reverts commit 1d94aa1987.

The next patch will make depth miptrees use the clear color setter that
was originally being used for color miptrees. Go back to using the
isl_color_value parameter because it's the same type as the
fast_clear_color field used by color and depth miptrees.

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
tags/18.2-branchpoint
Nanley Chery 7 年之前
父節點
當前提交
92a0a87b6f

+ 4
- 1
src/mesa/drivers/dri/i965/brw_blorp.c 查看文件

@@ -1225,9 +1225,12 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
if (can_fast_clear) {
const enum isl_aux_state aux_state =
intel_miptree_get_aux_state(irb->mt, irb->mt_level, irb->mt_layer);
union isl_color_value clear_color =
brw_meta_convert_fast_clear_color(brw, irb->mt,
&ctx->Color.ClearColor);

bool same_clear_color =
!intel_miptree_set_clear_color(brw, irb->mt, &ctx->Color.ClearColor);
!intel_miptree_set_clear_color(brw, irb->mt, clear_color);

/* If the buffer is already in INTEL_FAST_CLEAR_STATE_CLEAR, the clear
* is redundant and can be skipped.

+ 1
- 5
src/mesa/drivers/dri/i965/intel_mipmap_tree.c 查看文件

@@ -36,7 +36,6 @@

#include "brw_blorp.h"
#include "brw_context.h"
#include "brw_meta_util.h"
#include "brw_state.h"

#include "main/enums.h"
@@ -3725,11 +3724,8 @@ get_isl_dim_layout(const struct gen_device_info *devinfo,
bool
intel_miptree_set_clear_color(struct brw_context *brw,
struct intel_mipmap_tree *mt,
const union gl_color_union *color)
union isl_color_value clear_color)
{
const union isl_color_value clear_color =
brw_meta_convert_fast_clear_color(brw, mt, color);

if (memcmp(&mt->fast_clear_color, &clear_color, sizeof(clear_color)) != 0) {
mt->fast_clear_color = clear_color;
brw->ctx.NewDriverState |= BRW_NEW_AUX_STATE;

+ 1
- 1
src/mesa/drivers/dri/i965/intel_mipmap_tree.h 查看文件

@@ -706,7 +706,7 @@ intel_miptree_sample_with_hiz(struct brw_context *brw,
bool
intel_miptree_set_clear_color(struct brw_context *brw,
struct intel_mipmap_tree *mt,
const union gl_color_union *color);
union isl_color_value clear_color);

/* Get a clear color suitable for filling out an ISL surface state. */
union isl_color_value

Loading…
取消
儲存