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_vue_prog_key;
|
||||||
struct brw_wm_prog_key;
|
struct brw_wm_prog_key;
|
||||||
struct brw_wm_prog_data;
|
struct brw_wm_prog_data;
|
||||||
|
struct brw_cs_prog_data;
|
||||||
|
|
||||||
enum brw_pipeline {
|
enum brw_pipeline {
|
||||||
BRW_RENDER_PIPELINE,
|
BRW_RENDER_PIPELINE,
|
||||||
|
@ -429,6 +430,17 @@ struct brw_wm_prog_data {
|
||||||
int urb_setup[VARYING_SLOT_MAX];
|
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
|
* 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
|
* 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;
|
uint32_t fast_clear_op;
|
||||||
} wm;
|
} wm;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
struct brw_stage_state base;
|
||||||
|
struct brw_cs_prog_data *prog_data;
|
||||||
|
} cs;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
uint32_t state_offset;
|
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