Spir-V: Rescale the frag depth to 0,1 mode when -1,1 mode is used in Vulkan.
This commit is contained in:
		| @@ -477,7 +477,13 @@ void EmitSetSampleMask(EmitContext& ctx, Id value) { | |||||||
| } | } | ||||||
|  |  | ||||||
| void EmitSetFragDepth(EmitContext& ctx, Id value) { | void EmitSetFragDepth(EmitContext& ctx, Id value) { | ||||||
|     ctx.OpStore(ctx.frag_depth, value); |     if (!ctx.runtime_info.convert_depth_mode) { | ||||||
|  |         ctx.OpStore(ctx.frag_depth, value); | ||||||
|  |         return; | ||||||
|  |     } | ||||||
|  |     const Id unit{ctx.Const(0.5f)}; | ||||||
|  |     const Id new_depth{ctx.OpFma(ctx.F32[1], value, unit, unit)}; | ||||||
|  |     ctx.OpStore(ctx.frag_depth, new_depth); | ||||||
| } | } | ||||||
|  |  | ||||||
| void EmitGetZFlag(EmitContext&) { | void EmitGetZFlag(EmitContext&) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user