Skip to content

Commit

Permalink
Added some FIXMEs.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Apr 15, 2012
1 parent 4dd32b5 commit 513131a
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions mojoshader.c
Expand Up @@ -10,6 +10,13 @@
// !!! FIXME: this file really needs to be split up.
// !!! FIXME: I keep changing coding styles for symbols and typedefs.

// !!! FIXME: rules from MSDN about temp registers we probably don't check.
// - There are limited temporaries: vs_1_1 has 12 (ps_1_1 has _2_!).
// - SM2 apparently was variable, between 12 and 32. Shader Model 3 has 32.
// - If a temporary register uses components that are not defined in previous
// code, shader validation will fail.
// - A maximum of three temp registers can be used in a single instruction.

#define __MOJOSHADER_INTERNAL__ 1
#include "mojoshader_internal.h"

Expand Down Expand Up @@ -8465,6 +8472,10 @@ const MOJOSHADER_parseData *MOJOSHADER_parse(const char *profile,

ctx->current_position = MOJOSHADER_POSITION_AFTER;

// !!! FIXME: for ps_1_*, the output color is written to r0...throw an
// !!! FIXME: error if this register was never written. This isn't
// !!! FIXME: important for vertex shaders, or shader model 2+.

if (!failed)
{
process_definitions(ctx);
Expand Down

0 comments on commit 513131a

Please sign in to comment.