mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-11-29 10:24:10 +01:00
[dxbc] Add definitions for extended double instructions
This commit is contained in:
parent
0b1b898be4
commit
fabcdbc3ae
@ -37,7 +37,7 @@ else
|
||||
lib_vulkan = dxvk_compiler.find_library('vulkan-1', dirs : dxvk_library_path)
|
||||
lib_d3d11 = dxvk_compiler.find_library('d3d11')
|
||||
lib_dxgi = dxvk_compiler.find_library('dxgi')
|
||||
lib_d3dcompiler = dxvk_compiler.find_library('d3dcompiler_43', dirs : dxvk_library_path)
|
||||
lib_d3dcompiler = dxvk_compiler.find_library('d3dcompiler_47', dirs : dxvk_library_path)
|
||||
exe_ext = ''
|
||||
dll_ext = ''
|
||||
def_spec_ext = '.def'
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
namespace dxvk {
|
||||
|
||||
const std::array<DxbcInstFormat, 207> g_instructionFormats = {{
|
||||
const std::array<DxbcInstFormat, 218> g_instructionFormats = {{
|
||||
/* Add */
|
||||
{ 3, DxbcInstClass::VectorAlu, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float32 },
|
||||
@ -1045,6 +1045,52 @@ namespace dxvk {
|
||||
{ 1, DxbcInstClass::Declaration, {
|
||||
{ DxbcOperandKind::Imm32, DxbcScalarType::Uint32 },
|
||||
} },
|
||||
/* Abort */
|
||||
{ },
|
||||
/* DebugBreak */
|
||||
{ },
|
||||
/* ReservedBegin11_1 */
|
||||
{ },
|
||||
/* DDiv */
|
||||
{ 3, DxbcInstClass::VectorAlu, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
} },
|
||||
/* DFma */
|
||||
{ 4, DxbcInstClass::VectorAlu, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
} },
|
||||
/* DRcp */
|
||||
{ 2, DxbcInstClass::VectorAlu, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
} },
|
||||
/* Msad */
|
||||
{ },
|
||||
/* DtoI */
|
||||
{ 2, DxbcInstClass::ConvertFloat64, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Sint32 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
} },
|
||||
/* DtoU */
|
||||
{ 2, DxbcInstClass::ConvertFloat64, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Uint32 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Float64 },
|
||||
} },
|
||||
/* ItoD */
|
||||
{ 2, DxbcInstClass::ConvertFloat64, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Sint32 },
|
||||
} },
|
||||
/* UtoD */
|
||||
{ 2, DxbcInstClass::ConvertFloat64, {
|
||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float64 },
|
||||
{ DxbcOperandKind::SrcReg, DxbcScalarType::Uint32 },
|
||||
} },
|
||||
}};
|
||||
|
||||
|
||||
|
@ -215,6 +215,17 @@ namespace dxvk {
|
||||
EvalSampleIndex = 204,
|
||||
EvalCentroid = 205,
|
||||
DclGsInstanceCount = 206,
|
||||
Abort = 207,
|
||||
DebugBreak = 208,
|
||||
ReservedBegin11_1 = 209,
|
||||
DDiv = 210,
|
||||
DFma = 211,
|
||||
DRcp = 212,
|
||||
Msad = 213,
|
||||
DtoI = 214,
|
||||
DtoU = 215,
|
||||
ItoD = 216,
|
||||
UtoD = 217,
|
||||
};
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
test_dxbc_deps = [ dxbc_dep, dxvk_dep ]
|
||||
|
||||
executable('dxbc-compiler'+exe_ext, files('test_dxbc_compiler.cpp'), dependencies : test_dxbc_deps, install : true, override_options: ['cpp_std='+dxvk_cpp_std])
|
||||
executable('dxbc-disasm'+exe_ext, files('test_dxbc_disasm.cpp'), dependencies : [ test_dxbc_deps, lib_d3dcompiler ], install : true, override_options: ['cpp_std='+dxvk_cpp_std])
|
||||
#executable('dxbc-disasm'+exe_ext, files('test_dxbc_disasm.cpp'), dependencies : [ test_dxbc_deps, lib_d3dcompiler ], install : true, override_options: ['cpp_std='+dxvk_cpp_std])
|
||||
executable('hlsl-compiler'+exe_ext, files('test_hlsl_compiler.cpp'), dependencies : [ test_dxbc_deps, lib_d3dcompiler ], install : true, override_options: ['cpp_std='+dxvk_cpp_std])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user