@ -75,7 +75,7 @@ void FixedPipelineState::Fill(const Maxwell& regs, bool has_extended_dynamic_sta
regs . instanced_arrays . IsInstancingEnabled ( index ) ? regs . vertex_array [ index ] . divisor : 0 ;
regs . instanced_arrays . IsInstancingEnabled ( index ) ? regs . vertex_array [ index ] . divisor : 0 ;
}
}
for ( s td: : s ize_t index = 0 ; index < Maxwell : : NumVertexAttributes ; + + index ) {
for ( s ize_t index = 0 ; index < Maxwell : : NumVertexAttributes ; + + index ) {
const auto & input = regs . vertex_attrib_format [ index ] ;
const auto & input = regs . vertex_attrib_format [ index ] ;
auto & attribute = attributes [ index ] ;
auto & attribute = attributes [ index ] ;
attribute . raw = 0 ;
attribute . raw = 0 ;
@ -84,6 +84,7 @@ void FixedPipelineState::Fill(const Maxwell& regs, bool has_extended_dynamic_sta
attribute . offset . Assign ( input . offset ) ;
attribute . offset . Assign ( input . offset ) ;
attribute . type . Assign ( static_cast < u32 > ( input . type . Value ( ) ) ) ;
attribute . type . Assign ( static_cast < u32 > ( input . type . Value ( ) ) ) ;
attribute . size . Assign ( static_cast < u32 > ( input . size . Value ( ) ) ) ;
attribute . size . Assign ( static_cast < u32 > ( input . size . Value ( ) ) ) ;
attribute . binding_index_enabled . Assign ( regs . vertex_array [ index ] . IsEnabled ( ) ? 1 : 0 ) ;
}
}
for ( std : : size_t index = 0 ; index < std : : size ( attachments ) ; + + index ) {
for ( std : : size_t index = 0 ; index < std : : size ( attachments ) ; + + index ) {
@ -171,14 +172,9 @@ void FixedPipelineState::DynamicState::Fill(const Maxwell& regs) {
depth_test_func . Assign ( PackComparisonOp ( regs . depth_test_func ) ) ;
depth_test_func . Assign ( PackComparisonOp ( regs . depth_test_func ) ) ;
cull_face . Assign ( PackCullFace ( regs . cull_face ) ) ;
cull_face . Assign ( PackCullFace ( regs . cull_face ) ) ;
cull_enable . Assign ( regs . cull_test_enabled ! = 0 ? 1 : 0 ) ;
cull_enable . Assign ( regs . cull_test_enabled ! = 0 ? 1 : 0 ) ;
std : : ranges : : transform ( regs . vertex_array , vertex_strides . begin ( ) , [ ] ( const auto & array ) {
for ( std : : size_t index = 0 ; index < Maxwell : : NumVertexArrays ; + + index ) {
return static_cast < u16 > ( array . stride . Value ( ) ) ;
const auto & input = regs . vertex_array [ index ] ;
} ) ;
VertexBinding & binding = vertex_bindings [ index ] ;
binding . raw = 0 ;
binding . enabled . Assign ( input . IsEnabled ( ) ? 1 : 0 ) ;
binding . stride . Assign ( static_cast < u16 > ( input . stride . Value ( ) ) ) ;
}
}
}
std : : size_t FixedPipelineState : : Hash ( ) const noexcept {
std : : size_t FixedPipelineState : : Hash ( ) const noexcept {