From 770cebbc29863ae944a31463ee4bdeb789105aba Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 20 Jul 2009 17:44:36 -0700 Subject: ARB_fp/vp: Initial import of new ARB vp/fp assembler This still needs quite a bit of work, but a bunch of the programs in progs/vp produce correct results. --- src/mesa/shader/prog_parameter_layout.h | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/mesa/shader/prog_parameter_layout.h (limited to 'src/mesa/shader/prog_parameter_layout.h') diff --git a/src/mesa/shader/prog_parameter_layout.h b/src/mesa/shader/prog_parameter_layout.h new file mode 100644 index 0000000000..1686170bab --- /dev/null +++ b/src/mesa/shader/prog_parameter_layout.h @@ -0,0 +1,41 @@ +/* + * Copyright © 2009 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. + */ + +/** + * \file prog_parameter_layout.h + * \brief Helper functions to layout storage for program parameters + * + * \author Ian Romanick + */ + +#pragma once + +#ifndef PROG_PARAMETER_LAYOUT_H +#define PROG_PARAMETER_LAYOUT_H + +extern unsigned _mesa_combine_swizzles(unsigned base, unsigned applied); + +struct asm_parser_state; +extern int _mesa_layout_parameters(struct asm_parser_state *state); + +#endif /* PROG_PARAMETER_LAYOUT_H */ -- cgit v1.2.3 From 53db19b57d41a5e6beea5cb5dff4f7f638ca7b50 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 24 Aug 2009 10:50:07 -0600 Subject: mesa: _mesa_layout_parameters() returns a boolean value --- src/mesa/shader/prog_parameter_layout.c | 12 ++++++++---- src/mesa/shader/prog_parameter_layout.h | 3 ++- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'src/mesa/shader/prog_parameter_layout.h') diff --git a/src/mesa/shader/prog_parameter_layout.c b/src/mesa/shader/prog_parameter_layout.c index 8f2b306220..1c37b3a7a5 100644 --- a/src/mesa/shader/prog_parameter_layout.c +++ b/src/mesa/shader/prog_parameter_layout.c @@ -106,7 +106,11 @@ copy_indirect_accessed_array(struct gl_program_parameter_list *src, } -int +/** + * XXX description??? + * \return GL_TRUE for success, GL_FALSE for failure + */ +GLboolean _mesa_layout_parameters(struct asm_parser_state *state) { struct gl_program_parameter_list *layout; @@ -128,12 +132,12 @@ _mesa_layout_parameters(struct asm_parser_state *state) */ if (!inst->SrcReg[i].Symbol->pass1_done) { const int new_begin = - copy_indirect_accessed_array(state->prog->Parameters, layout, + copy_indirect_accessed_array(state->prog->Parameters, layout, inst->SrcReg[i].Symbol->param_binding_begin, inst->SrcReg[i].Symbol->param_binding_length); if (new_begin < 0) { - return 0; + return GL_FALSE; } inst->SrcReg[i].Symbol->param_binding_begin = new_begin; @@ -209,5 +213,5 @@ _mesa_layout_parameters(struct asm_parser_state *state) _mesa_free_parameter_list(state->prog->Parameters); state->prog->Parameters = layout; - return 1; + return GL_TRUE; } diff --git a/src/mesa/shader/prog_parameter_layout.h b/src/mesa/shader/prog_parameter_layout.h index 1686170bab..99a7b6c726 100644 --- a/src/mesa/shader/prog_parameter_layout.h +++ b/src/mesa/shader/prog_parameter_layout.h @@ -36,6 +36,7 @@ extern unsigned _mesa_combine_swizzles(unsigned base, unsigned applied); struct asm_parser_state; -extern int _mesa_layout_parameters(struct asm_parser_state *state); + +extern GLboolean _mesa_layout_parameters(struct asm_parser_state *state); #endif /* PROG_PARAMETER_LAYOUT_H */ -- cgit v1.2.3