mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 17:10:11 +01:00
st/mesa: move st_atom.c contents into st_context.c
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953>
This commit is contained in:
parent
ae2b911217
commit
ee308fb9ae
5 changed files with 23 additions and 80 deletions
|
|
@ -283,7 +283,6 @@ files_libmesa = files(
|
|||
'program/symbol_table.h',
|
||||
'state_tracker/st_atifs_to_nir.c',
|
||||
'state_tracker/st_atifs_to_nir.h',
|
||||
'state_tracker/st_atom.c',
|
||||
'state_tracker/st_atom_array.cpp',
|
||||
'state_tracker/st_atom_atomicbuf.c',
|
||||
'state_tracker/st_atom_blend.c',
|
||||
|
|
|
|||
|
|
@ -1,69 +0,0 @@
|
|||
/**************************************************************************
|
||||
*
|
||||
* Copyright 2003 VMware, Inc.
|
||||
* 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 VMWARE 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.
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include "main/arrayobj.h"
|
||||
#include "util/glheader.h"
|
||||
#include "main/context.h"
|
||||
|
||||
#include "pipe/p_defines.h"
|
||||
#include "st_context.h"
|
||||
#include "st_atom.h"
|
||||
#include "st_program.h"
|
||||
#include "st_manager.h"
|
||||
#include "st_util.h"
|
||||
|
||||
#include "util/u_cpu_detect.h"
|
||||
|
||||
|
||||
/* The list state update functions. */
|
||||
st_update_func_t st_update_functions[ST_NUM_ATOMS];
|
||||
|
||||
static void
|
||||
init_atoms_once(void)
|
||||
{
|
||||
#define ST_STATE(FLAG, st_update) st_update_functions[FLAG##_INDEX] = st_update;
|
||||
#include "st_atom_list.h"
|
||||
#undef ST_STATE
|
||||
|
||||
if (util_get_cpu_caps()->has_popcnt)
|
||||
st_update_functions[ST_NEW_VERTEX_ARRAYS_INDEX] = st_update_array_with_popcnt;
|
||||
}
|
||||
|
||||
void st_init_atoms( struct st_context *st )
|
||||
{
|
||||
STATIC_ASSERT(ARRAY_SIZE(st_update_functions) <= 64);
|
||||
|
||||
static once_flag flag = ONCE_FLAG_INIT;
|
||||
call_once(&flag, init_atoms_once);
|
||||
}
|
||||
|
||||
void st_destroy_atoms( struct st_context *st )
|
||||
{
|
||||
/* no-op */
|
||||
}
|
||||
|
|
@ -48,10 +48,6 @@ struct pipe_vertex_buffer;
|
|||
struct pipe_vertex_element;
|
||||
struct cso_velems_state;
|
||||
|
||||
|
||||
void st_init_atoms( struct st_context *st );
|
||||
void st_destroy_atoms( struct st_context *st );
|
||||
|
||||
void
|
||||
st_setup_arrays(struct st_context *st,
|
||||
const struct gl_vertex_program *vp,
|
||||
|
|
@ -183,10 +179,6 @@ enum {
|
|||
#define ST_ALL_STATES_MASK (ST_PIPELINE_RENDER_STATE_MASK | \
|
||||
ST_PIPELINE_COMPUTE_STATE_MASK)
|
||||
|
||||
typedef void (*st_update_func_t)(struct st_context *st);
|
||||
|
||||
extern st_update_func_t st_update_functions[ST_NUM_ATOMS];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -71,6 +71,22 @@
|
|||
|
||||
DEBUG_GET_ONCE_BOOL_OPTION(mesa_mvp_dp4, "MESA_MVP_DP4", FALSE)
|
||||
|
||||
/* The list of state update functions. */
|
||||
st_update_func_t st_update_functions[ST_NUM_ATOMS];
|
||||
|
||||
static void
|
||||
init_atoms_once(void)
|
||||
{
|
||||
STATIC_ASSERT(ARRAY_SIZE(st_update_functions) <= 64);
|
||||
|
||||
#define ST_STATE(FLAG, st_update) st_update_functions[FLAG##_INDEX] = st_update;
|
||||
#include "st_atom_list.h"
|
||||
#undef ST_STATE
|
||||
|
||||
if (util_get_cpu_caps()->has_popcnt)
|
||||
st_update_functions[ST_NEW_VERTEX_ARRAYS_INDEX] = st_update_array_with_popcnt;
|
||||
}
|
||||
|
||||
void
|
||||
st_invalidate_buffers(struct st_context *st)
|
||||
{
|
||||
|
|
@ -331,7 +347,6 @@ st_context_free_zombie_objects(struct st_context *st)
|
|||
static void
|
||||
st_destroy_context_priv(struct st_context *st, bool destroy_pipe)
|
||||
{
|
||||
st_destroy_atoms(st);
|
||||
st_destroy_draw(st);
|
||||
st_destroy_clear(st);
|
||||
st_destroy_bitmap(st);
|
||||
|
|
@ -475,7 +490,9 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
|
|||
st->cso_context = cso_create_context(pipe, cso_flags);
|
||||
ctx->cso_context = st->cso_context;
|
||||
|
||||
st_init_atoms(st);
|
||||
static once_flag flag = ONCE_FLAG_INIT;
|
||||
call_once(&flag, init_atoms_once);
|
||||
|
||||
st_init_clear(st);
|
||||
{
|
||||
enum pipe_texture_transfer_mode val = screen->get_param(screen, PIPE_CAP_TEXTURE_TRANSFER_MODES);
|
||||
|
|
|
|||
|
|
@ -508,6 +508,10 @@ st_api_destroy_drawable(struct pipe_frontend_drawable *drawable);
|
|||
void
|
||||
st_screen_destroy(struct pipe_frontend_screen *fscreen);
|
||||
|
||||
typedef void (*st_update_func_t)(struct st_context *st);
|
||||
|
||||
extern st_update_func_t st_update_functions[ST_NUM_ATOMS];
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue