spirv: Add fixed pipeline point size
This commit is contained in:
		| @@ -495,7 +495,7 @@ void EmitContext::DefineOutputs(const Info& info) { | ||||
|     if (info.stores_position || stage == Stage::VertexB) { | ||||
|         output_position = DefineOutput(*this, F32[4], spv::BuiltIn::Position); | ||||
|     } | ||||
|     if (info.stores_point_size) { | ||||
|     if (info.stores_point_size || profile.fixed_state_point_size) { | ||||
|         if (stage == Stage::Fragment) { | ||||
|             throw NotImplementedException("Storing PointSize in Fragment stage"); | ||||
|         } | ||||
|   | ||||
| @@ -17,6 +17,10 @@ void EmitPrologue(EmitContext& ctx) { | ||||
|                 ctx.OpStore(generic_id, default_vector); | ||||
|             } | ||||
|         } | ||||
|         if (ctx.profile.fixed_state_point_size) { | ||||
|             const float point_size{*ctx.profile.fixed_state_point_size}; | ||||
|             ctx.OpStore(ctx.output_point_size, ctx.Constant(ctx.F32[1], point_size)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user