const struct fo_state *vertex_shader;
struct pipe_blend_color blend_color;
- struct pipe_clear_color_state clear_color;
struct pipe_clip_state clip;
struct pipe_framebuffer_state framebuffer;
struct pipe_poly_stipple poly_stipple;
failover->hw->set_clip_state( failover->hw, clip );
}
-static void
-failover_set_clear_color_state( struct pipe_context *pipe,
- const struct pipe_clear_color_state *clear_color )
-{
- struct failover_context *failover = failover_context(pipe);
-
- failover->clear_color = *clear_color;
- failover->dirty |= FO_NEW_CLEAR_COLOR;
- failover->hw->set_clear_color_state( failover->hw, clear_color );
-}
static void *
failover_create_depth_stencil_state(struct pipe_context *pipe,
failover->pipe.set_blend_color = failover_set_blend_color;
failover->pipe.set_clip_state = failover_set_clip_state;
- failover->pipe.set_clear_color_state = failover_set_clear_color_state;
failover->pipe.set_framebuffer_state = failover_set_framebuffer_state;
failover->pipe.set_polygon_stipple = failover_set_polygon_stipple;
failover->pipe.set_sampler_units = failover_set_sampler_units;
if (failover->dirty & FO_NEW_CLIP)
failover->sw->set_clip_state( failover->sw, &failover->clip );
- if (failover->dirty & FO_NEW_CLEAR_COLOR)
- failover->sw->set_clear_color_state( failover->sw, &failover->clear_color );
-
if (failover->dirty & FO_NEW_DEPTH_STENCIL)
failover->sw->bind_depth_stencil_state( failover->sw,
failover->depth_stencil->sw_state );
const struct pipe_shader_state *fs;
struct pipe_blend_color blend_color;
- struct pipe_clear_color_state clear_color;
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[PIPE_SHADER_TYPES];
struct pipe_framebuffer_state framebuffer;
-static void i915_set_clear_color_state(struct pipe_context *pipe,
- const struct pipe_clear_color_state *clear)
-{
- struct i915_context *i915 = i915_context(pipe);
-
- i915->clear_color = *clear; /* struct copy */
-}
-
-
-
static void i915_set_clip_state( struct pipe_context *pipe,
const struct pipe_clip_state *clip )
{
i915->pipe.set_blend_color = i915_set_blend_color;
i915->pipe.set_clip_state = i915_set_clip_state;
- i915->pipe.set_clear_color_state = i915_set_clear_color_state;
i915->pipe.set_constant_buffer = i915_set_constant_buffer;
i915->pipe.set_framebuffer_state = i915_set_framebuffer_state;
struct pipe_scissor_state Scissor;
struct pipe_viewport_state Viewport;
struct pipe_framebuffer_state FrameBuffer;
- struct pipe_clear_color_state ClearColor;
const struct pipe_constant_buffer *Constants[2];
const struct brw_texture *Texture[PIPE_MAX_SAMPLERS];
-static void brw_set_clear_color_state(struct pipe_context *pipe,
- const struct pipe_clear_color_state *clear)
-{
- struct brw_context *brw = brw_context(pipe);
-
- brw->attribs.ClearColor = *clear; /* struct copy */
-}
-
/************************************************************************
* Rasterizer state
*/
brw->pipe.set_blend_color = brw_set_blend_color;
brw->pipe.set_clip_state = brw_set_clip_state;
- brw->pipe.set_clear_color_state = brw_set_clear_color_state;
brw->pipe.set_constant_buffer = brw_set_constant_buffer;
brw->pipe.set_framebuffer_state = brw_set_framebuffer_state;
void (*set_clip_state)( struct pipe_context *,
const struct pipe_clip_state * );
- void (*set_clear_color_state)( struct pipe_context *,
- const struct pipe_clear_color_state * );
-
void (*set_constant_buffer)( struct pipe_context *,
uint shader, uint index,
const struct pipe_constant_buffer *buf );
float color[4];
};
-struct pipe_clear_color_state
-{
- float color[4];
-};
-
struct pipe_framebuffer_state
{
/** multiple colorbuffers for multiple render targets */
softpipe->pipe.set_blend_color = softpipe_set_blend_color;
softpipe->pipe.set_clip_state = softpipe_set_clip_state;
- softpipe->pipe.set_clear_color_state = softpipe_set_clear_color_state;
softpipe->pipe.set_constant_buffer = softpipe_set_constant_buffer;
softpipe->pipe.set_framebuffer_state = softpipe_set_framebuffer_state;
softpipe->pipe.set_polygon_stipple = softpipe_set_polygon_stipple;
const struct sp_vertex_shader_state *vs;
struct pipe_blend_color blend_color;
- struct pipe_clear_color_state clear_color;
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[2];
struct pipe_framebuffer_state framebuffer;
void softpipe_set_blend_color( struct pipe_context *pipe,
const struct pipe_blend_color *blend_color );
-void softpipe_set_clear_color_state( struct pipe_context *,
- const struct pipe_clear_color_state * );
-
void softpipe_set_clip_state( struct pipe_context *,
const struct pipe_clip_state * );
-void
-softpipe_set_clear_color_state(struct pipe_context *pipe,
- const struct pipe_clear_color_state *clear)
-{
- struct softpipe_context *softpipe = softpipe_context(pipe);
-
- softpipe->clear_color = *clear; /* struct copy */
-}
state_tracker/st_atom.c \
state_tracker/st_atom_alphatest.c \
state_tracker/st_atom_blend.c \
- state_tracker/st_atom_clear_color.c \
state_tracker/st_atom_clip.c \
state_tracker/st_atom_constbuf.c \
state_tracker/st_atom_depth.c \
static const struct st_tracked_state *atoms[] =
{
&st_update_framebuffer,
- &st_update_clear_color,
&st_update_depth_stencil,
&st_update_clip,
const struct st_tracked_state st_update_framebuffer;
const struct st_tracked_state st_update_clip;
-const struct st_tracked_state st_update_clear_color;
const struct st_tracked_state st_update_depth_stencil;
const struct st_tracked_state st_update_shader;
const struct st_tracked_state st_update_rasterizer;
+++ /dev/null
-/**************************************************************************
- *
- * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All Rights Reserved.
- *
- * 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, sub license, 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 NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS 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 <keith@tungstengraphics.com>
- * Brian Paul
- */
-
-#include "st_context.h"
-#include "st_atom.h"
-#include "pipe/p_context.h"
-
-
-static void
-update_clear_color_state( struct st_context *st )
-{
- struct pipe_clear_color_state clear;
-
- clear.color[0] = st->ctx->Color.ClearColor[0];
- clear.color[1] = st->ctx->Color.ClearColor[1];
- clear.color[2] = st->ctx->Color.ClearColor[2];
- clear.color[3] = st->ctx->Color.ClearColor[3];
-
- if (memcmp(&clear, &st->state.clear_color, sizeof(clear)) != 0) {
- st->state.clear_color = clear;
- st->pipe->set_clear_color_state( st->pipe, &clear );
- }
-}
-
-
-const struct st_tracked_state st_update_clear_color = {
- .name = "st_update_clear_color",
- .dirty = {
- .mesa = _NEW_COLOR,
- .st = 0,
- },
- .update = update_clear_color_state
-};
const struct cso_vertex_shader *vs;
struct pipe_blend_color blend_color;
- struct pipe_clear_color_state clear_color;
struct pipe_clip_state clip;
struct pipe_constant_buffer constants[2];
struct pipe_framebuffer_state framebuffer;