i965/cs: Add brw_cs_prog_data, brw_cs_prog_key and brw_context::cs.
jordan.l.justen@intel.com: * Added brw_cs_prog_key structure * Added brw_cs_prog_data::dispatch_grf_start_reg_16 * Added brw_cs_prog_data::local_size * Added brw_cs_prog_data::simd_size Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
2a4df9c524
commit
92a57e7207
|
@ -148,6 +148,7 @@ struct brw_vs_prog_key;
|
|||
struct brw_vue_prog_key;
|
||||
struct brw_wm_prog_key;
|
||||
struct brw_wm_prog_data;
|
||||
struct brw_cs_prog_data;
|
||||
|
||||
enum brw_pipeline {
|
||||
BRW_RENDER_PIPELINE,
|
||||
|
@ -429,6 +430,17 @@ struct brw_wm_prog_data {
|
|||
int urb_setup[VARYING_SLOT_MAX];
|
||||
};
|
||||
|
||||
/* Note: brw_cs_prog_data_compare() must be updated when adding fields to this
|
||||
* struct!
|
||||
*/
|
||||
struct brw_cs_prog_data {
|
||||
struct brw_stage_prog_data base;
|
||||
|
||||
GLuint dispatch_grf_start_reg_16;
|
||||
unsigned local_size[3];
|
||||
unsigned simd_size;
|
||||
};
|
||||
|
||||
/**
|
||||
* Enum representing the i965-specific vertex results that don't correspond
|
||||
* exactly to any element of gl_varying_slot. The values of this enum are
|
||||
|
@ -1372,6 +1384,10 @@ struct brw_context
|
|||
uint32_t fast_clear_op;
|
||||
} wm;
|
||||
|
||||
struct {
|
||||
struct brw_stage_state base;
|
||||
struct brw_cs_prog_data *prog_data;
|
||||
} cs;
|
||||
|
||||
struct {
|
||||
uint32_t state_offset;
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* Copyright © 2014 Intel Corporation
|
||||
*
|
||||
* 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 AUTHORS OR COPYRIGHT HOLDERS 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.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef BRW_CS_H
|
||||
#define BRW_CS_H
|
||||
|
||||
#include "brw_program.h"
|
||||
|
||||
struct brw_cs_prog_key {
|
||||
uint32_t program_string_id;
|
||||
struct brw_sampler_prog_key_data tex;
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void
|
||||
brw_upload_cs_prog(struct brw_context *brw);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* BRW_CS_H */
|
Loading…
Reference in New Issue