diff --git a/src/d3d8/d3d8_device.cpp b/src/d3d8/d3d8_device.cpp index 201678d36..64198e353 100644 --- a/src/d3d8/d3d8_device.cpp +++ b/src/d3d8/d3d8_device.cpp @@ -1588,12 +1588,11 @@ namespace dxvk { default: break; - // TODO: D3DRS_LINEPATTERN - vkCmdSetLineRasterizationModeEXT - case D3DRS_LINEPATTERN: { - [[maybe_unused]] - D3DLINEPATTERN pattern = bit::cast(Value); - stateChange = false; - } break; + // TODO: Implement D3DRS_LINEPATTERN - vkCmdSetLineRasterizationModeEXT + case D3DRS_LINEPATTERN: + Logger::warn("D3D8Device::SetRenderState: Unimplemented render state D3DRS_LINEPATTERN"); + m_linePattern = bit::cast(Value); + return D3D_OK; // Not supported by D3D8. case D3DRS_ZVISIBLE: @@ -1653,9 +1652,9 @@ namespace dxvk { default: break; - // TODO: D3DRS_LINEPATTERN case D3DRS_LINEPATTERN: - break; + *pValue = bit::cast(m_linePattern); + return D3D_OK; // Not supported by D3D8. case D3DRS_ZVISIBLE: diff --git a/src/d3d8/d3d8_device.h b/src/d3d8/d3d8_device.h index b5cce0d86..181e513c4 100644 --- a/src/d3d8/d3d8_device.h +++ b/src/d3d8/d3d8_device.h @@ -426,6 +426,8 @@ namespace dxvk { D3DPRESENT_PARAMETERS m_presentParams; + D3DLINEPATTERN m_linePattern = {}; + D3D8StateBlock* m_recorder = nullptr; DWORD m_recorderToken = 0; DWORD m_token = 0;