mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-23 15:52:42 +02:00
port: D397 — D397SHM input-mapping probe; H1 LERP-factor variant ruled out
New env-gated D397SHM probe in gfx_generate_cc dumps which G_CCMUX inputs a combine feeds as vInput1..N. For the gun-barrow row-strip shader (id0=0000000010001218): vInput1=PRIMITIVE, vInput2=ENV_ALPHA, so the front.c LERP renders out = PRIM + (TEXEL-PRIM)*(envA/255). The PD ground-truth port feeds the identical env_color.a/255 factor for the same ENV_ALPHA LERP input, so the LERP factor is not a port-side scaling bug (H1's 1/255-vs-1/32 variant refuted). A uniform factor cannot produce the *periodic* comb, which points to H2 (row-strip geometry / 256-tri vertex-ring wrap). Next: Q3 gfx_flush() probe + Q5 native FBO capture. Findings §D397 + handoff updated.
This commit is contained in:
1 parent
65875ad45b
commit
2a60b8a912
2 files changed
+25
No files matched your search
@@ -550,6 +550,24 @@ static void gfx_generate_cc(struct ColorCombiner* comb, const ColorCombinerKey&
|
||||
comb->used_textures[1] = used_textures[1];
|
||||
// comb->prg = gfx_lookup_or_create_shader_program(shader_id0, shader_id1);
|
||||
memcpy(comb->shader_input_mapping, shader_input_mapping, sizeof(shader_input_mapping));
|
||||
#ifdef PORT
|
||||
/* D397 TEMP probe (env-gated, remove before merge): dump which runtime
|
||||
* G_CCMUX inputs this combine feeds as vInput1..N so the file-select
|
||||
* LERP factor source can be settled against the measured census. */
|
||||
if (getenv("GE_D397SH")) {
|
||||
fprintf(stderr,
|
||||
"D397SHM: id0=%016llx cmode=0x%016llx map0=[%u %u %u %u %u %u %u] map1=[%u %u %u %u %u %u %u]\n",
|
||||
(unsigned long long)comb->shader_id0, (unsigned long long)key.combine_mode,
|
||||
(unsigned)comb->shader_input_mapping[0][0], (unsigned)comb->shader_input_mapping[0][1],
|
||||
(unsigned)comb->shader_input_mapping[0][2], (unsigned)comb->shader_input_mapping[0][3],
|
||||
(unsigned)comb->shader_input_mapping[0][4], (unsigned)comb->shader_input_mapping[0][5],
|
||||
(unsigned)comb->shader_input_mapping[0][6],
|
||||
(unsigned)comb->shader_input_mapping[1][0], (unsigned)comb->shader_input_mapping[1][1],
|
||||
(unsigned)comb->shader_input_mapping[1][2], (unsigned)comb->shader_input_mapping[1][3],
|
||||
(unsigned)comb->shader_input_mapping[1][4], (unsigned)comb->shader_input_mapping[1][5],
|
||||
(unsigned)comb->shader_input_mapping[1][6]);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static struct ColorCombiner* gfx_lookup_or_create_color_combiner(const ColorCombinerKey& key) {
|
||||
|
||||
Reference in new issue
Block a user