st: reformatting, comments, var renaming
This commit is contained in:
@@ -24,11 +24,12 @@
|
|||||||
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
/*
|
|
||||||
* Authors:
|
/*
|
||||||
* Keith Whitwell <keith@tungstengraphics.com>
|
* Authors:
|
||||||
* Brian Paul
|
* Keith Whitwell <keith@tungstengraphics.com>
|
||||||
*/
|
* Brian Paul
|
||||||
|
*/
|
||||||
|
|
||||||
#include "main/imports.h"
|
#include "main/imports.h"
|
||||||
#include "shader/prog_parameter.h"
|
#include "shader/prog_parameter.h"
|
||||||
@@ -44,19 +45,21 @@
|
|||||||
#include "st_program.h"
|
#include "st_program.h"
|
||||||
#include "st_inlines.h"
|
#include "st_inlines.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pass the given program parameters to the graphics pipe as a
|
* Pass the given program parameters to the graphics pipe as a
|
||||||
* constant buffer.
|
* constant buffer.
|
||||||
* \param id either PIPE_SHADER_VERTEX or PIPE_SHADER_FRAGMENT
|
* \param shader_type either PIPE_SHADER_VERTEX or PIPE_SHADER_FRAGMENT
|
||||||
*/
|
*/
|
||||||
void st_upload_constants( struct st_context *st,
|
void st_upload_constants( struct st_context *st,
|
||||||
struct gl_program_parameter_list *params,
|
struct gl_program_parameter_list *params,
|
||||||
unsigned id)
|
unsigned shader_type)
|
||||||
{
|
{
|
||||||
struct pipe_context *pipe = st->pipe;
|
struct pipe_context *pipe = st->pipe;
|
||||||
struct pipe_constant_buffer *cbuf = &st->state.constants[id];
|
struct pipe_constant_buffer *cbuf = &st->state.constants[shader_type];
|
||||||
|
|
||||||
assert(id == PIPE_SHADER_VERTEX || id == PIPE_SHADER_FRAGMENT);
|
assert(shader_type == PIPE_SHADER_VERTEX ||
|
||||||
|
shader_type == PIPE_SHADER_FRAGMENT);
|
||||||
|
|
||||||
/* update constants */
|
/* update constants */
|
||||||
if (params && params->NumParameters) {
|
if (params && params->NumParameters) {
|
||||||
@@ -68,13 +71,14 @@ void st_upload_constants( struct st_context *st,
|
|||||||
* avoid gratuitous rendering synchronization.
|
* avoid gratuitous rendering synchronization.
|
||||||
*/
|
*/
|
||||||
pipe_buffer_reference(&cbuf->buffer, NULL );
|
pipe_buffer_reference(&cbuf->buffer, NULL );
|
||||||
cbuf->buffer = pipe_buffer_create(pipe->screen, 16, PIPE_BUFFER_USAGE_CONSTANT,
|
cbuf->buffer = pipe_buffer_create(pipe->screen, 16,
|
||||||
|
PIPE_BUFFER_USAGE_CONSTANT,
|
||||||
paramBytes );
|
paramBytes );
|
||||||
|
|
||||||
if (0)
|
if (0) {
|
||||||
{
|
debug_printf("%s(shader=%d, numParams=%d, stateFlags=0x%x)\n",
|
||||||
printf("%s(shader=%d, numParams=%d, stateFlags=0x%x)\n",
|
__FUNCTION__, shader_type, params->NumParameters,
|
||||||
__FUNCTION__, id, params->NumParameters, params->StateFlags);
|
params->StateFlags);
|
||||||
_mesa_print_parameter_list(params);
|
_mesa_print_parameter_list(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,15 +88,16 @@ void st_upload_constants( struct st_context *st,
|
|||||||
0, paramBytes,
|
0, paramBytes,
|
||||||
params->ParameterValues);
|
params->ParameterValues);
|
||||||
|
|
||||||
st->pipe->set_constant_buffer(st->pipe, id, 0, cbuf);
|
st->pipe->set_constant_buffer(st->pipe, shader_type, 0, cbuf);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
st->constants.tracked_state[id].dirty.mesa = 0;
|
st->constants.tracked_state[shader_type].dirty.mesa = 0x0;
|
||||||
// st->pipe->set_constant_buffer(st->pipe, id, 0, NULL);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Vertex shader:
|
|
||||||
|
/**
|
||||||
|
* Vertex shader:
|
||||||
*/
|
*/
|
||||||
static void update_vs_constants(struct st_context *st )
|
static void update_vs_constants(struct st_context *st )
|
||||||
{
|
{
|
||||||
@@ -102,6 +107,7 @@ static void update_vs_constants(struct st_context *st )
|
|||||||
st_upload_constants( st, params, PIPE_SHADER_VERTEX );
|
st_upload_constants( st, params, PIPE_SHADER_VERTEX );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const struct st_tracked_state st_update_vs_constants = {
|
const struct st_tracked_state st_update_vs_constants = {
|
||||||
"st_update_vs_constants", /* name */
|
"st_update_vs_constants", /* name */
|
||||||
{ /* dirty */
|
{ /* dirty */
|
||||||
@@ -111,7 +117,10 @@ const struct st_tracked_state st_update_vs_constants = {
|
|||||||
update_vs_constants /* update */
|
update_vs_constants /* update */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Fragment shader:
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fragment shader:
|
||||||
*/
|
*/
|
||||||
static void update_fs_constants(struct st_context *st )
|
static void update_fs_constants(struct st_context *st )
|
||||||
{
|
{
|
||||||
@@ -121,6 +130,7 @@ static void update_fs_constants(struct st_context *st )
|
|||||||
st_upload_constants( st, params, PIPE_SHADER_FRAGMENT );
|
st_upload_constants( st, params, PIPE_SHADER_FRAGMENT );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const struct st_tracked_state st_update_fs_constants = {
|
const struct st_tracked_state st_update_fs_constants = {
|
||||||
"st_update_fs_constants", /* name */
|
"st_update_fs_constants", /* name */
|
||||||
{ /* dirty */
|
{ /* dirty */
|
||||||
|
Reference in New Issue
Block a user