HLSL: Aplicar límite de registro constante en tiempo de compilación

En HLSL, ¿hay alguna forma de limitar el número de registros constantes que utiliza el compilador?

Específicamente, si tengo algo como:

float4 foobar[300];

En un sombreador de vértices vs_2_0, el compilador generará alegremente el efecto con más de 256 registros constantes. Pero solo se garantiza que un sombreador de vértices 2.0 tenga acceso a 256 registros constantes, por lo que cuando trato de usar el efecto, falla en una forma oscura y dependiente de la GPU en tiempo de ejecución. Preferiría que fallara en el momento de la compilación.

Este problema es especialmente molesto ya que el compilador en sí asigna registros constantes detrás de escena, además de los que estoy pidiendo. Tengo que verificar el ensamblaje para ver si supero el límite.

Idealmente, me gustaría hacer esto en HLSL (estoy usando la canalización de contenido XNA), pero si hay una bandera que se puede pasar al compilador, eso también sería interesante.

Respuestas a la pregunta(1)

Su respuesta a la pregunta