@@ -75,6 +75,11 @@ void vhCmdSetStateStencil( vhStateId id, uint32_t front, uint32_t back )
7575 vhCmdEnqueue ( new VIDL_vhCmdSetStateStencil ( id, front, back ) );
7676}
7777
78+ void vhCmdSetStateDepthBias ( vhStateId id, int bias, float clamp, float slopeScaled )
79+ {
80+ vhCmdEnqueue ( new VIDL_vhCmdSetStateDepthBias ( id, bias, clamp, slopeScaled ) );
81+ }
82+
7883void vhCmdSetStateVertexBuffer ( vhStateId id, uint8_t stream, vhBuffer buffer, uint64_t offset, uint32_t start, uint32_t num )
7984{
8085 vhCmdEnqueue ( new VIDL_vhCmdSetStateVertexBuffer ( id, stream, buffer, offset, start, num ) );
@@ -154,6 +159,11 @@ bool vhSetState( vhStateId id, vhState& state, uint64_t dirtyForceMask )
154159 vhCmdSetStateStencil ( id, state.frontStencil , state.backStencil );
155160 }
156161
162+ if ( dirty & VRHI_DIRTY_DEPTH_BIAS )
163+ {
164+ vhCmdSetStateDepthBias ( id, state.depthBias , state.depthBiasClamp , state.slopeScaledDepthBias );
165+ }
166+
157167 if ( dirty & VRHI_DIRTY_VERTEX_INDEX )
158168 {
159169 for ( uint8_t i = 0 ; i < ( uint8_t ) state.vertexBindings .size (); ++i )
@@ -351,6 +361,11 @@ nvrhi::DepthStencilState vhTranslateDepthStencilState( uint64_t stateFlags, uint
351361 dsState.depthTestEnable = true ;
352362 dsState.depthFunc = fnConvertComparisonFunc ( depthFunc );
353363 }
364+ else if ( stateFlags & VRHI_STATE_DEPTH_TEST_ENABLE )
365+ {
366+ dsState.depthTestEnable = true ;
367+ dsState.depthFunc = nvrhi::ComparisonFunc::Less; // Default comparison when only enable flag is set
368+ }
354369 else
355370 {
356371 dsState.depthTestEnable = false ;
@@ -431,6 +446,7 @@ nvrhi::RasterState vhTranslateRasterState( uint64_t stateFlags )
431446 rasterState.multisampleEnable = ( stateFlags & VRHI_STATE_MSAA ) != 0 ;
432447 rasterState.antialiasedLineEnable = ( stateFlags & VRHI_STATE_LINEAA ) != 0 ;
433448 rasterState.conservativeRasterEnable = ( stateFlags & VRHI_STATE_CONSERVATIVE_RASTER ) != 0 ;
449+ rasterState.depthClipEnable = ( stateFlags & VRHI_STATE_DEPTH_CLIP ) != 0 ;
434450
435451 return rasterState;
436452}
0 commit comments