mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-12-13 16:08:50 +01:00
39 lines
657 B
C
39 lines
657 B
C
|
#pragma once
|
||
|
|
||
|
#include "../dxvk/dxvk_shader.h"
|
||
|
|
||
|
#include "dxbc_chunk_shex.h"
|
||
|
|
||
|
namespace dxvk {
|
||
|
|
||
|
/**
|
||
|
* \brief DXBC to SPIR-V compiler
|
||
|
*
|
||
|
*
|
||
|
*/
|
||
|
class DxbcCompiler {
|
||
|
|
||
|
public:
|
||
|
|
||
|
DxbcCompiler(DxbcProgramVersion version);
|
||
|
~DxbcCompiler();
|
||
|
|
||
|
/**
|
||
|
* \brief Processes a single instruction
|
||
|
* \param [in] ins The instruction
|
||
|
*/
|
||
|
void processInstruction(DxbcInstruction ins);
|
||
|
|
||
|
/**
|
||
|
* \brief Creates actual shader object
|
||
|
*
|
||
|
* Combines all information gatherd during the
|
||
|
* shader compilation into one shader object.
|
||
|
*/
|
||
|
Rc<DxvkShader> finalize();
|
||
|
|
||
|
private:
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|