mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-09 23:55:40 +12:00
Merge pull request #189 from wheremyfoodat/services
Stub Y2R::SetPackageParameter, upstream the positional light change
This commit is contained in:
commit
47891d1e23
3 changed files with 17 additions and 3 deletions
|
@ -75,6 +75,7 @@ class Y2RService {
|
||||||
void setInputLineWidth(u32 messagePointer);
|
void setInputLineWidth(u32 messagePointer);
|
||||||
void setInputLines(u32 messagePointer);
|
void setInputLines(u32 messagePointer);
|
||||||
void setOutputFormat(u32 messagePointer);
|
void setOutputFormat(u32 messagePointer);
|
||||||
|
void setPackageParameter(u32 messagePointer);
|
||||||
void setReceiving(u32 messagePointer);
|
void setReceiving(u32 messagePointer);
|
||||||
void setRotation(u32 messagePointer);
|
void setRotation(u32 messagePointer);
|
||||||
void setSendingY(u32 messagePointer);
|
void setSendingY(u32 messagePointer);
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace Y2RCommands {
|
||||||
StartConversion = 0x00260000,
|
StartConversion = 0x00260000,
|
||||||
StopConversion = 0x00270000,
|
StopConversion = 0x00270000,
|
||||||
IsBusyConversion = 0x00280000,
|
IsBusyConversion = 0x00280000,
|
||||||
|
SetPackageParameter = 0x002901C0,
|
||||||
PingProcess = 0x002A0000,
|
PingProcess = 0x002A0000,
|
||||||
DriverInitialize = 0x002B0000,
|
DriverInitialize = 0x002B0000,
|
||||||
DriverFinalize = 0x002C0000
|
DriverFinalize = 0x002C0000
|
||||||
|
@ -60,6 +61,7 @@ void Y2RService::handleSyncRequest(u32 messagePointer) {
|
||||||
case Y2RCommands::SetInputLineWidth: setInputLineWidth(messagePointer); break;
|
case Y2RCommands::SetInputLineWidth: setInputLineWidth(messagePointer); break;
|
||||||
case Y2RCommands::SetInputLines: setInputLines(messagePointer); break;
|
case Y2RCommands::SetInputLines: setInputLines(messagePointer); break;
|
||||||
case Y2RCommands::SetOutputFormat: setOutputFormat(messagePointer); break;
|
case Y2RCommands::SetOutputFormat: setOutputFormat(messagePointer); break;
|
||||||
|
case Y2RCommands::SetPackageParameter: setPackageParameter(messagePointer); break;
|
||||||
case Y2RCommands::SetReceiving: setReceiving(messagePointer); break;
|
case Y2RCommands::SetReceiving: setReceiving(messagePointer); break;
|
||||||
case Y2RCommands::SetRotation: setRotation(messagePointer); break;
|
case Y2RCommands::SetRotation: setRotation(messagePointer); break;
|
||||||
case Y2RCommands::SetSendingY: setSendingY(messagePointer); break;
|
case Y2RCommands::SetSendingY: setSendingY(messagePointer); break;
|
||||||
|
@ -176,6 +178,17 @@ void Y2RService::setOutputFormat(u32 messagePointer) {
|
||||||
mem.write32(messagePointer + 4, Result::Success);
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Y2RService::setPackageParameter(u32 messagePointer) {
|
||||||
|
// Package parameter is 3 words
|
||||||
|
const u32 word1 = mem.read32(messagePointer + 4);
|
||||||
|
const u32 word2 = mem.read32(messagePointer + 8);
|
||||||
|
const u32 word3 = mem.read32(messagePointer + 12);
|
||||||
|
Helpers::warn("Y2R::SetPackageParameter\n");
|
||||||
|
|
||||||
|
mem.write32(messagePointer, IPC::responseHeader(0x29, 1, 0));
|
||||||
|
mem.write32(messagePointer + 4, Result::Success);
|
||||||
|
}
|
||||||
|
|
||||||
void Y2RService::setRotation(u32 messagePointer) {
|
void Y2RService::setRotation(u32 messagePointer) {
|
||||||
const u32 rot = mem.read32(messagePointer + 4);
|
const u32 rot = mem.read32(messagePointer + 4);
|
||||||
log("Y2R::SetRotation (format = %d)\n", rot);
|
log("Y2R::SetRotation (format = %d)\n", rot);
|
||||||
|
|
|
@ -232,8 +232,8 @@ void calcLighting(out vec4 primary_color, out vec4 secondary_color) {
|
||||||
|
|
||||||
// Positional Light
|
// Positional Light
|
||||||
if (bitfieldExtract(GPUREG_LIGHTi_CONFIG, 0, 1) == 0) {
|
if (bitfieldExtract(GPUREG_LIGHTi_CONFIG, 0, 1) == 0) {
|
||||||
error_unimpl = true;
|
// error_unimpl = true;
|
||||||
// half_vector = normalize(normalize(light_vector + v_view) + view);
|
half_vector = normalize(normalize(light_vector + v_view) + view);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Directional light
|
// Directional light
|
||||||
|
@ -328,7 +328,7 @@ void calcLighting(out vec4 primary_color, out vec4 secondary_color) {
|
||||||
if (fresnel_output2 == 1u) secondary_color.a = d[FR_LUT];
|
if (fresnel_output2 == 1u) secondary_color.a = d[FR_LUT];
|
||||||
|
|
||||||
if (error_unimpl) {
|
if (error_unimpl) {
|
||||||
secondary_color = primary_color = vec4(1.0, 0., 1.0, 1.0);
|
// secondary_color = primary_color = vec4(1.0, 0., 1.0, 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue