1 #ifndef TCSSHADERFROMNIR_H
2 #define TCSSHADERFROMNIR_H
4 #include "sfn_shader_base.h"
8 class TcsShaderFromNir
: public ShaderFromNirProcessor
11 TcsShaderFromNir(r600_pipe_shader
*sh
, r600_pipe_shader_selector
& sel
, const r600_shader_key
& key
);
12 bool scan_sysvalue_access(nir_instr
*instr
) override
;
15 bool allocate_reserved_registers() override
;
16 bool emit_intrinsic_instruction_override(nir_intrinsic_instr
* instr
) override
;
17 bool store_tess_factor(nir_intrinsic_instr
* instr
);
19 bool do_process_inputs(nir_variable
*input
) override
{ return true;}
20 bool do_process_outputs(nir_variable
*output
) override
;
21 bool do_emit_load_deref(const nir_variable
*in_var
, nir_intrinsic_instr
* instr
) override
{ return true;}
22 bool do_emit_store_deref(const nir_variable
*out_var
, nir_intrinsic_instr
* instr
) override
{ return true;}
23 void do_finalize() override
{}
25 int m_reserved_registers
;
27 PValue m_rel_patch_id
;
28 PValue m_invocation_id
;
29 PValue m_primitive_id
;
30 PValue m_tess_factor_base
;
37 #endif // TCSSHADERFROMNIR_H