From ad7663b83818ecba05e042621b7f9aeeeba86d0c Mon Sep 17 00:00:00 2001 From: Rafael Antognolli Date: Mon, 5 Jun 2017 14:44:44 -0700 Subject: [PATCH] i965: Convert BLEND_CONSTANT_COLOR state to genxml. It's a very simple conversion, and it allows us to delete brw_cc.c. Signed-off-by: Rafael Antognolli Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/Makefile.sources | 1 - src/mesa/drivers/dri/i965/brw_cc.c | 62 ------------------- src/mesa/drivers/dri/i965/genX_state_upload.c | 28 ++++++++- 3 files changed, 27 insertions(+), 64 deletions(-) delete mode 100644 src/mesa/drivers/dri/i965/brw_cc.c diff --git a/src/mesa/drivers/dri/i965/Makefile.sources b/src/mesa/drivers/dri/i965/Makefile.sources index 8d992f74dd3..5fe575789e4 100644 --- a/src/mesa/drivers/dri/i965/Makefile.sources +++ b/src/mesa/drivers/dri/i965/Makefile.sources @@ -4,7 +4,6 @@ i965_FILES = \ brw_blorp.h \ brw_bufmgr.c \ brw_bufmgr.h \ - brw_cc.c \ brw_clear.c \ brw_clip.c \ brw_clip_state.c \ diff --git a/src/mesa/drivers/dri/i965/brw_cc.c b/src/mesa/drivers/dri/i965/brw_cc.c deleted file mode 100644 index 503ec8303a8..00000000000 --- a/src/mesa/drivers/dri/i965/brw_cc.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (C) Intel Corp. 2006. All Rights Reserved. - Intel funded Tungsten Graphics to - develop this 3D driver. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial - portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - **********************************************************************/ - /* - * Authors: - * Keith Whitwell - */ - - -#include "brw_context.h" -#include "brw_state.h" -#include "brw_defines.h" -#include "brw_util.h" -#include "main/glformats.h" -#include "main/macros.h" -#include "main/stencil.h" -#include "intel_batchbuffer.h" - -static void upload_blend_constant_color(struct brw_context *brw) -{ - struct gl_context *ctx = &brw->ctx; - - BEGIN_BATCH(5); - OUT_BATCH(_3DSTATE_BLEND_CONSTANT_COLOR << 16 | (5-2)); - OUT_BATCH_F(ctx->Color.BlendColorUnclamped[0]); - OUT_BATCH_F(ctx->Color.BlendColorUnclamped[1]); - OUT_BATCH_F(ctx->Color.BlendColorUnclamped[2]); - OUT_BATCH_F(ctx->Color.BlendColorUnclamped[3]); - ADVANCE_BATCH(); -} - -const struct brw_tracked_state brw_blend_constant_color = { - .dirty = { - .mesa = _NEW_COLOR, - .brw = BRW_NEW_CONTEXT | - BRW_NEW_BLORP, - }, - .emit = upload_blend_constant_color -}; diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c index 46e7799228d..3281a0197aa 100644 --- a/src/mesa/drivers/dri/i965/genX_state_upload.c +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c @@ -4962,6 +4962,32 @@ const struct brw_tracked_state genX(cs_samplers) = { /* ---------------------------------------------------------------------- */ +#if GEN_GEN <= 5 + +static void genX(upload_blend_constant_color)(struct brw_context *brw) +{ + struct gl_context *ctx = &brw->ctx; + + brw_batch_emit(brw, GENX(3DSTATE_CONSTANT_COLOR), blend_cc) { + blend_cc.BlendConstantColorRed = ctx->Color.BlendColorUnclamped[0]; + blend_cc.BlendConstantColorGreen = ctx->Color.BlendColorUnclamped[1]; + blend_cc.BlendConstantColorBlue = ctx->Color.BlendColorUnclamped[2]; + blend_cc.BlendConstantColorAlpha = ctx->Color.BlendColorUnclamped[3]; + } +} + +static const struct brw_tracked_state genX(blend_constant_color) = { + .dirty = { + .mesa = _NEW_COLOR, + .brw = BRW_NEW_CONTEXT | + BRW_NEW_BLORP, + }, + .emit = genX(upload_blend_constant_color) +}; +#endif + +/* ---------------------------------------------------------------------- */ + void genX(init_atoms)(struct brw_context *brw) { @@ -5005,7 +5031,7 @@ genX(init_atoms)(struct brw_context *brw) &brw_invariant_state, &brw_binding_table_pointers, - &brw_blend_constant_color, + &genX(blend_constant_color), &brw_depthbuffer, -- 2.30.2