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_vulkan = dxvk_compiler.find_library('vulkan-1', dirs : dxvk_library_path)
|
||||||
lib_d3d11 = dxvk_compiler.find_library('d3d11')
|
lib_d3d11 = dxvk_compiler.find_library('d3d11')
|
||||||
lib_dxgi = dxvk_compiler.find_library('dxgi')
|
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 = ''
|
exe_ext = ''
|
||||||
dll_ext = ''
|
dll_ext = ''
|
||||||
def_spec_ext = '.def'
|
def_spec_ext = '.def'
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace dxvk {
|
namespace dxvk {
|
||||||
|
|
||||||
const std::array<DxbcInstFormat, 207> g_instructionFormats = {{
|
const std::array<DxbcInstFormat, 218> g_instructionFormats = {{
|
||||||
/* Add */
|
/* Add */
|
||||||
{ 3, DxbcInstClass::VectorAlu, {
|
{ 3, DxbcInstClass::VectorAlu, {
|
||||||
{ DxbcOperandKind::DstReg, DxbcScalarType::Float32 },
|
{ DxbcOperandKind::DstReg, DxbcScalarType::Float32 },
|
||||||
@ -1045,6 +1045,52 @@ namespace dxvk {
|
|||||||
{ 1, DxbcInstClass::Declaration, {
|
{ 1, DxbcInstClass::Declaration, {
|
||||||
{ DxbcOperandKind::Imm32, DxbcScalarType::Uint32 },
|
{ 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,
|
EvalSampleIndex = 204,
|
||||||
EvalCentroid = 205,
|
EvalCentroid = 205,
|
||||||
DclGsInstanceCount = 206,
|
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 ]
|
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-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])
|
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