mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
i965: Move brw_select_clip_planes() to brw_shader.cpp
We call this from the compiler so move it to brw_shader.cpp. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Signed-off-by: Kristian Høgsberg Kristensen <krh@bitplanet.net>
This commit is contained in:
parent
365e5d7892
commit
ffc841cae5
2 changed files with 26 additions and 25 deletions
|
|
@ -1227,3 +1227,29 @@ brw_setup_image_uniform_values(gl_shader_stage stage,
|
|||
stage_prog_data->binding_table.image_start + image_idx);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Decide which set of clip planes should be used when clipping via
|
||||
* gl_Position or gl_ClipVertex.
|
||||
*/
|
||||
gl_clip_plane *brw_select_clip_planes(struct gl_context *ctx)
|
||||
{
|
||||
if (ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX]) {
|
||||
/* There is currently a GLSL vertex shader, so clip according to GLSL
|
||||
* rules, which means compare gl_ClipVertex (or gl_Position, if
|
||||
* gl_ClipVertex wasn't assigned) against the eye-coordinate clip planes
|
||||
* that were stored in EyeUserPlane at the time the clip planes were
|
||||
* specified.
|
||||
*/
|
||||
return ctx->Transform.EyeUserPlane;
|
||||
} else {
|
||||
/* Either we are using fixed function or an ARB vertex program. In
|
||||
* either case the clip planes are going to be compared against
|
||||
* gl_Position (which is in clip coordinates) so we have to clip using
|
||||
* _ClipUserPlane, which was transformed into clip coordinates by Mesa
|
||||
* core.
|
||||
*/
|
||||
return ctx->Transform._ClipUserPlane;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,31 +41,6 @@
|
|||
|
||||
#include "util/ralloc.h"
|
||||
|
||||
/**
|
||||
* Decide which set of clip planes should be used when clipping via
|
||||
* gl_Position or gl_ClipVertex.
|
||||
*/
|
||||
gl_clip_plane *brw_select_clip_planes(struct gl_context *ctx)
|
||||
{
|
||||
if (ctx->_Shader->CurrentProgram[MESA_SHADER_VERTEX]) {
|
||||
/* There is currently a GLSL vertex shader, so clip according to GLSL
|
||||
* rules, which means compare gl_ClipVertex (or gl_Position, if
|
||||
* gl_ClipVertex wasn't assigned) against the eye-coordinate clip planes
|
||||
* that were stored in EyeUserPlane at the time the clip planes were
|
||||
* specified.
|
||||
*/
|
||||
return ctx->Transform.EyeUserPlane;
|
||||
} else {
|
||||
/* Either we are using fixed function or an ARB vertex program. In
|
||||
* either case the clip planes are going to be compared against
|
||||
* gl_Position (which is in clip coordinates) so we have to clip using
|
||||
* _ClipUserPlane, which was transformed into clip coordinates by Mesa
|
||||
* core.
|
||||
*/
|
||||
return ctx->Transform._ClipUserPlane;
|
||||
}
|
||||
}
|
||||
|
||||
bool
|
||||
brw_codegen_vs_prog(struct brw_context *brw,
|
||||
struct gl_shader_program *prog,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue