mirror of
https://github.com/mamedev/mame.git
synced 2024-11-16 07:48:32 +01:00
5671484fc8
* render/bgfx: Improved clearing and blending. Added prescale support. Fixes MT07586, MT07587, MT08084. * render/bgfx: Fixed blend and tint handling. (Fixes Github #1953). * render/bgfx/blendreader.cpp: Support non-separated blend mode specification for BGFX effects. * render/bgfx: Reworked how horizontally-padded screen textures are handled. Likely fixes MT08512 and MT08505. * render/bgfx: Ensure that a texture's width margin is updated in all cases. * render/d3d/d3dhlsl.cpp: Fixed tinting in HLSL post-processing mode. * render/d3d/d3dhlsl.cpp: Avoid most redundant state-setting calls. Reduces D3D API calls by about 90% on fruit machine drivers. * render/d3d/d3dhlsl.cpp: Assign SourceDims and QuadDims uniforms to only those effects that use them. * machine/laserdsc.cpp: Always add video quad to screen container, adjust tint based on m_videoenable instead.
126 lines
5.1 KiB
JSON
126 lines
5.1 KiB
JSON
// license:BSD-3-Clause
|
|
// copyright-holders:Ryan Holtz
|
|
//============================================================
|
|
//
|
|
// blit_palette16.json: A palettized texture-to-target copy.
|
|
//
|
|
//============================================================
|
|
{
|
|
// blend (required): The blend state for this effect.
|
|
"blend": {
|
|
// equation (optional): What equation to perform on the source and destination blend values.
|
|
// values: "add", "sub", "revSub", "min", "max"
|
|
// default: "add"
|
|
//
|
|
// "subtract" and "revSubtract" are provided as aliases for "sub" and "revSub"
|
|
"equation": "add",
|
|
|
|
// blend function parameters (optional): What factors to use in the blend function when calculating the final pixel.
|
|
// values: "0", "1", "srccolor", "1-srccolor", "dstcolor", "1-dstcolor", "srcalpha", "1-srcalpha", "dstalpha", "1-dstalpha"
|
|
// defaults (srcColor, srcAlpha): "1"
|
|
// defaults (dstColor, dstAlpha): "0"
|
|
//
|
|
// "zero", "one", "invsrccolor", "invdstcolor", "invsrcalpha", and "invdstalpha" are provided as aliases for "0", "1", "1-srccolor", "1-dstcolor", "1-srcalpha", and "1-dstalpha"
|
|
"srcColor": "1",
|
|
"dstColor": "0",
|
|
"srcAlpha": "1",
|
|
"dstAlpha": "0"
|
|
},
|
|
|
|
// depth (required): The depth state for this effect.
|
|
"depth": {
|
|
// function (optional): The depth function to use when drawing.
|
|
// values: "never", "less", "equal", "lequal", "greater", "notequal", "gequal", "always"
|
|
// default: "always"
|
|
"function": "always",
|
|
|
|
// writeenable (optional): Whether to store Z-buffer data.
|
|
// values: true, false
|
|
// default: false
|
|
"writeenable": false
|
|
},
|
|
|
|
// cull (required): The cull mode for this effect.
|
|
"cull": {
|
|
// mode (optional): What winding, if any, to cull.
|
|
// values: "none", "cw", "ccw"
|
|
// default: "ccw"
|
|
//
|
|
// "clockwise" and "counterclockwise" are provided as aliases for "cw" and "ccw"
|
|
"mode": "none"
|
|
},
|
|
|
|
// write (required): Write enable for color and alpha channels.
|
|
"write": {
|
|
// rgb (optional): Whether to store color data when drawing.
|
|
// values: true, false
|
|
// default: false
|
|
"rgb": true,
|
|
|
|
// alpha (optional): Whether to store alpha data when drawing.
|
|
// values: true, false
|
|
// default: false
|
|
"alpha": true
|
|
},
|
|
|
|
// vertex (required): The vertex shader to use when drawing.
|
|
// value: A string containing the path and name of a shader file to use, minus the extension.
|
|
"vertex": "chains/misc/vs_blit",
|
|
|
|
// pixel/fragment (required): The pixel or fragment shader to use when drawing.
|
|
// value: A string containing the path and name of a shader file to use, minus the extension.
|
|
"fragment": "chains/misc/fs_blit_palette16",
|
|
|
|
// uniforms (required): The list of uniforms for this effect. Can be empty, but must exist.
|
|
"uniforms": [
|
|
{
|
|
// name (required): The name of the uniform, as used in either the vertex or pixel/fragment shader.
|
|
// value: A string containing the name of the uniform as described above.
|
|
//
|
|
// NOTE: Some names correspond to special values that will be automatically filled by the BGFX
|
|
// code if they are used by the shader. These names are:
|
|
// "u_screen_dims"
|
|
// The dimensions of the first texture input if present, otherwise the dimensions of the output window.
|
|
// Valid values: xy
|
|
// "u_inv_screen_dims"
|
|
// The reciprocal of u_screen_dims.
|
|
// Valid values: xy
|
|
// "u_source_dims"
|
|
// The size, in pixels, of the screen texture incoming to the chain.
|
|
// Valid values: xy
|
|
// "u_rotation_type"
|
|
// This screen's rotation type. 0 if ROT0, 1 if ROT90, 2 if ROT180, 3 of ROT270.
|
|
// Valid values: x
|
|
// "u_swap_xy"
|
|
// Whether this screen is swapped on the X and Y axes. 1 if true, 0 if false.
|
|
// Valid values: x
|
|
// "u_quad_dims"
|
|
// The dimensions, in pixels, occupied by this one screen primitive itself in the output window.
|
|
// Valid values: xy
|
|
// "u_tex_sizeN"
|
|
// The dimensions, in pixels, of the texture in input pair N. Starts at 0.
|
|
// valid values: xy
|
|
"name": "s_tex",
|
|
|
|
// type (required): The type of the uniform.
|
|
// values: "int", "vec4", "mat3", "mat4"
|
|
//
|
|
// Note: "int" should only be used for samplers.
|
|
"type": "int",
|
|
|
|
// values (required): The array of numbers with which to initialize the uniform.
|
|
// value: A JSON array containin the correct amount of numbers to initialize a uniform of the
|
|
// above-specified type. The following size rules should be followed:
|
|
// "int": 1 float
|
|
// "vec4": 4 floats
|
|
// "mat3": 9 floats
|
|
// "mat4": 16 floats
|
|
"values": [ 1.0 ]
|
|
},
|
|
{ "name": "s_pal", "type": "int", "values": [ 1.0 ] },
|
|
{ "name": "u_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
|
|
{ "name": "u_inv_tex_size0", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
|
|
{ "name": "u_inv_tex_size1", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] },
|
|
{ "name": "u_inv_view_dims", "type": "vec4", "values": [ 1.0, 1.0, 0.0, 0.0 ] }
|
|
]
|
|
}
|