"Fossies" - the Fresh Open Source Software Archive

Member "mesa-20.1.8/src/gallium/drivers/r600/sfn/sfn_shader_tess_eval.h" (16 Sep 2020, 1412 Bytes) of package /linux/misc/mesa-20.1.8.tar.xz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "sfn_shader_tess_eval.h" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 20.1.5_vs_20.2.0-rc1.

    1 #ifndef TEVALSHADERFROMNIR_H
    2 #define TEVALSHADERFROMNIR_H
    3 
    4 #include "sfn_shader_base.h"
    5 #include "sfn_vertexstageexport.h"
    6 
    7 namespace r600 {
    8 
    9 class TEvalShaderFromNir : public VertexStage
   10 {
   11 public:
   12     TEvalShaderFromNir(r600_pipe_shader *sh, r600_pipe_shader_selector& sel,
   13                            const r600_shader_key& key, r600_shader *gs_shader);
   14         bool scan_sysvalue_access(nir_instr *instr) override;
   15         PValue primitive_id() override {return m_primitive_id;}
   16      private:
   17         bool allocate_reserved_registers() override;
   18         bool emit_intrinsic_instruction_override(nir_intrinsic_instr* instr) override;
   19         bool emit_load_tess_coord(nir_intrinsic_instr* instr);
   20         bool load_tess_z_coord(nir_intrinsic_instr* instr);
   21 
   22         bool do_process_inputs(nir_variable *input) override;
   23         bool do_process_outputs(nir_variable *output) override;
   24         bool do_emit_load_deref(const nir_variable *in_var, nir_intrinsic_instr* instr) override { return true;}
   25         bool do_emit_store_deref(const nir_variable *out_var, nir_intrinsic_instr* instr) override;
   26         void do_finalize() override;
   27 
   28 
   29         unsigned m_reserved_registers;
   30         PValue m_tess_coord[3];
   31         PValue m_rel_patch_id;
   32         PValue m_primitive_id;
   33 
   34         std::unique_ptr<VertexStageExportBase> m_export_processor;
   35         const r600_shader_key& m_key;
   36 };
   37 
   38 
   39 }
   40 
   41 #endif // TEVALSHADERFROMNIR_H