2007-10-18 10:16:28 -06:00
|
|
|
/**************************************************************************
|
|
|
|
*
|
|
|
|
* Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas.
|
|
|
|
* 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 TUNGSTEN GRAPHICS 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 "main/context.h"
|
|
|
|
#include "shader/prog_print.h"
|
|
|
|
|
|
|
|
#include "pipe/p_state.h"
|
2007-11-23 13:28:16 +00:00
|
|
|
#include "pipe/p_shader_tokens.h"
|
2008-07-28 12:42:13 +09:00
|
|
|
#include "tgsi/tgsi_dump.h"
|
2007-10-18 10:16:28 -06:00
|
|
|
|
2008-02-15 17:50:12 +09:00
|
|
|
#include "cso_cache/cso_cache.h"
|
2007-10-18 10:16:28 -06:00
|
|
|
|
|
|
|
#include "st_context.h"
|
|
|
|
#include "st_debug.h"
|
|
|
|
#include "st_program.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-05 15:50:11 +01:00
|
|
|
#ifdef DEBUG
|
|
|
|
int ST_DEBUG = 0;
|
|
|
|
|
|
|
|
static const struct debug_named_value st_debug_flags[] = {
|
|
|
|
{ "mesa", DEBUG_MESA },
|
|
|
|
{ "tgsi", DEBUG_TGSI },
|
|
|
|
{ "pipe", DEBUG_PIPE },
|
|
|
|
{ "tex", DEBUG_TEX },
|
|
|
|
{ "fallback", DEBUG_FALLBACK },
|
|
|
|
{ "screen", DEBUG_SCREEN },
|
|
|
|
{ "query", DEBUG_QUERY },
|
|
|
|
{NULL, 0}
|
|
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
st_debug_init(void)
|
|
|
|
{
|
|
|
|
#ifdef DEBUG
|
|
|
|
ST_DEBUG = debug_get_flags_option("ST_DEBUG", st_debug_flags, 0 );
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-18 10:16:28 -06:00
|
|
|
/**
|
|
|
|
* Print current state. May be called from inside gdb to see currently
|
|
|
|
* bound vertex/fragment shaders and associated constants.
|
|
|
|
*/
|
|
|
|
void
|
|
|
|
st_print_current(void)
|
|
|
|
{
|
|
|
|
GET_CURRENT_CONTEXT(ctx);
|
|
|
|
struct st_context *st = ctx->st;
|
2007-10-18 10:55:26 -06:00
|
|
|
|
2008-03-13 18:08:18 +00:00
|
|
|
#if 0
|
2008-03-20 15:02:10 -06:00
|
|
|
int i;
|
|
|
|
|
2007-10-18 10:55:26 -06:00
|
|
|
printf("Vertex Transform Inputs:\n");
|
2008-03-11 18:54:31 -06:00
|
|
|
for (i = 0; i < st->vp->state.num_inputs; i++) {
|
2007-10-18 10:55:26 -06:00
|
|
|
printf(" Slot %d: VERT_ATTRIB_%d\n", i, st->vp->index_to_input[i]);
|
|
|
|
}
|
2008-03-13 18:08:18 +00:00
|
|
|
#endif
|
2007-10-18 10:16:28 -06:00
|
|
|
|
2009-11-15 11:15:25 -08:00
|
|
|
if (st->vp->varients)
|
|
|
|
tgsi_dump( st->vp->varients[0].state.tokens, 0 );
|
2007-10-18 10:16:28 -06:00
|
|
|
if (st->vp->Base.Base.Parameters)
|
|
|
|
_mesa_print_parameter_list(st->vp->Base.Base.Parameters);
|
|
|
|
|
2008-03-11 18:54:31 -06:00
|
|
|
tgsi_dump( st->fp->state.tokens, 0 );
|
2007-10-18 10:16:28 -06:00
|
|
|
if (st->fp->Base.Base.Parameters)
|
|
|
|
_mesa_print_parameter_list(st->fp->Base.Base.Parameters);
|
|
|
|
}
|
2009-10-05 15:50:11 +01:00
|
|
|
|
|
|
|
|