summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2016-04-26 22:43:24 -0400
committerGravatar bunnei2016-04-26 22:43:24 -0400
commite8b2fd4a18715abe3be0289e3fe46e2162bfe424 (patch)
treef9fc3672a9d4ecb8c35ae04191239d9a6692ba5d /src
parentMerge pull request #1447 from JamePeng/update-y2r-service (diff)
parenty2r_u: Cleanup some formatting. (diff)
downloadyuzu-e8b2fd4a18715abe3be0289e3fe46e2162bfe424.tar.gz
yuzu-e8b2fd4a18715abe3be0289e3fe46e2162bfe424.tar.xz
yuzu-e8b2fd4a18715abe3be0289e3fe46e2162bfe424.zip
Merge pull request #1721 from bunnei/cleanup-pr-1447
y2r_u: Cleanup some formatting.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/y2r_u.cpp141
1 files changed, 89 insertions, 52 deletions
diff --git a/src/core/hle/service/y2r_u.cpp b/src/core/hle/service/y2r_u.cpp
index 76ec154dd..d16578f87 100644
--- a/src/core/hle/service/y2r_u.cpp
+++ b/src/core/hle/service/y2r_u.cpp
@@ -88,10 +88,11 @@ static void SetInputFormat(Service::Interface* self) {
88 u32* cmd_buff = Kernel::GetCommandBuffer(); 88 u32* cmd_buff = Kernel::GetCommandBuffer();
89 89
90 conversion.input_format = static_cast<InputFormat>(cmd_buff[1]); 90 conversion.input_format = static_cast<InputFormat>(cmd_buff[1]);
91 LOG_DEBUG(Service_Y2R, "called input_format=%hhu", conversion.input_format);
92 91
93 cmd_buff[0] = IPC::MakeHeader(0x1, 1, 0); 92 cmd_buff[0] = IPC::MakeHeader(0x1, 1, 0);
94 cmd_buff[1] = RESULT_SUCCESS.raw; 93 cmd_buff[1] = RESULT_SUCCESS.raw;
94
95 LOG_DEBUG(Service_Y2R, "called input_format=%hhu", conversion.input_format);
95} 96}
96 97
97static void GetInputFormat(Service::Interface* self) { 98static void GetInputFormat(Service::Interface* self) {
@@ -100,6 +101,7 @@ static void GetInputFormat(Service::Interface* self) {
100 cmd_buff[0] = IPC::MakeHeader(0x2, 2, 0); 101 cmd_buff[0] = IPC::MakeHeader(0x2, 2, 0);
101 cmd_buff[1] = RESULT_SUCCESS.raw; 102 cmd_buff[1] = RESULT_SUCCESS.raw;
102 cmd_buff[2] = static_cast<u32>(conversion.input_format); 103 cmd_buff[2] = static_cast<u32>(conversion.input_format);
104
103 LOG_DEBUG(Service_Y2R, "called input_format=%hhu", conversion.input_format); 105 LOG_DEBUG(Service_Y2R, "called input_format=%hhu", conversion.input_format);
104} 106}
105 107
@@ -107,10 +109,11 @@ static void SetOutputFormat(Service::Interface* self) {
107 u32* cmd_buff = Kernel::GetCommandBuffer(); 109 u32* cmd_buff = Kernel::GetCommandBuffer();
108 110
109 conversion.output_format = static_cast<OutputFormat>(cmd_buff[1]); 111 conversion.output_format = static_cast<OutputFormat>(cmd_buff[1]);
110 LOG_DEBUG(Service_Y2R, "called output_format=%hhu", conversion.output_format);
111 112
112 cmd_buff[0] = IPC::MakeHeader(0x3, 1, 0); 113 cmd_buff[0] = IPC::MakeHeader(0x3, 1, 0);
113 cmd_buff[1] = RESULT_SUCCESS.raw; 114 cmd_buff[1] = RESULT_SUCCESS.raw;
115
116 LOG_DEBUG(Service_Y2R, "called output_format=%hhu", conversion.output_format);
114} 117}
115 118
116static void GetOutputFormat(Service::Interface* self) { 119static void GetOutputFormat(Service::Interface* self) {
@@ -119,6 +122,7 @@ static void GetOutputFormat(Service::Interface* self) {
119 cmd_buff[0] = IPC::MakeHeader(0x4, 2, 0); 122 cmd_buff[0] = IPC::MakeHeader(0x4, 2, 0);
120 cmd_buff[1] = RESULT_SUCCESS.raw; 123 cmd_buff[1] = RESULT_SUCCESS.raw;
121 cmd_buff[2] = static_cast<u32>(conversion.output_format); 124 cmd_buff[2] = static_cast<u32>(conversion.output_format);
125
122 LOG_DEBUG(Service_Y2R, "called output_format=%hhu", conversion.output_format); 126 LOG_DEBUG(Service_Y2R, "called output_format=%hhu", conversion.output_format);
123} 127}
124 128
@@ -126,10 +130,11 @@ static void SetRotation(Service::Interface* self) {
126 u32* cmd_buff = Kernel::GetCommandBuffer(); 130 u32* cmd_buff = Kernel::GetCommandBuffer();
127 131
128 conversion.rotation = static_cast<Rotation>(cmd_buff[1]); 132 conversion.rotation = static_cast<Rotation>(cmd_buff[1]);
129 LOG_DEBUG(Service_Y2R, "called rotation=%hhu", conversion.rotation);
130 133
131 cmd_buff[0] = IPC::MakeHeader(0x5, 1, 0); 134 cmd_buff[0] = IPC::MakeHeader(0x5, 1, 0);
132 cmd_buff[1] = RESULT_SUCCESS.raw; 135 cmd_buff[1] = RESULT_SUCCESS.raw;
136
137 LOG_DEBUG(Service_Y2R, "called rotation=%hhu", conversion.rotation);
133} 138}
134 139
135static void GetRotation(Service::Interface* self) { 140static void GetRotation(Service::Interface* self) {
@@ -138,6 +143,7 @@ static void GetRotation(Service::Interface* self) {
138 cmd_buff[0] = IPC::MakeHeader(0x6, 2, 0); 143 cmd_buff[0] = IPC::MakeHeader(0x6, 2, 0);
139 cmd_buff[1] = RESULT_SUCCESS.raw; 144 cmd_buff[1] = RESULT_SUCCESS.raw;
140 cmd_buff[2] = static_cast<u32>(conversion.rotation); 145 cmd_buff[2] = static_cast<u32>(conversion.rotation);
146
141 LOG_DEBUG(Service_Y2R, "called rotation=%hhu", conversion.rotation); 147 LOG_DEBUG(Service_Y2R, "called rotation=%hhu", conversion.rotation);
142} 148}
143 149
@@ -145,10 +151,11 @@ static void SetBlockAlignment(Service::Interface* self) {
145 u32* cmd_buff = Kernel::GetCommandBuffer(); 151 u32* cmd_buff = Kernel::GetCommandBuffer();
146 152
147 conversion.block_alignment = static_cast<BlockAlignment>(cmd_buff[1]); 153 conversion.block_alignment = static_cast<BlockAlignment>(cmd_buff[1]);
148 LOG_DEBUG(Service_Y2R, "called block_alignment=%hhu", conversion.block_alignment);
149 154
150 cmd_buff[0] = IPC::MakeHeader(0x7, 1, 0); 155 cmd_buff[0] = IPC::MakeHeader(0x7, 1, 0);
151 cmd_buff[1] = RESULT_SUCCESS.raw; 156 cmd_buff[1] = RESULT_SUCCESS.raw;
157
158 LOG_DEBUG(Service_Y2R, "called block_alignment=%hhu", conversion.block_alignment);
152} 159}
153 160
154static void GetBlockAlignment(Service::Interface* self) { 161static void GetBlockAlignment(Service::Interface* self) {
@@ -157,6 +164,7 @@ static void GetBlockAlignment(Service::Interface* self) {
157 cmd_buff[0] = IPC::MakeHeader(0x8, 2, 0); 164 cmd_buff[0] = IPC::MakeHeader(0x8, 2, 0);
158 cmd_buff[1] = RESULT_SUCCESS.raw; 165 cmd_buff[1] = RESULT_SUCCESS.raw;
159 cmd_buff[2] = static_cast<u32>(conversion.block_alignment); 166 cmd_buff[2] = static_cast<u32>(conversion.block_alignment);
167
160 LOG_DEBUG(Service_Y2R, "called block_alignment=%hhu", conversion.block_alignment); 168 LOG_DEBUG(Service_Y2R, "called block_alignment=%hhu", conversion.block_alignment);
161} 169}
162 170
@@ -173,6 +181,7 @@ static void SetSpacialDithering(Service::Interface* self) {
173 181
174 cmd_buff[0] = IPC::MakeHeader(0x9, 1, 0); 182 cmd_buff[0] = IPC::MakeHeader(0x9, 1, 0);
175 cmd_buff[1] = RESULT_SUCCESS.raw; 183 cmd_buff[1] = RESULT_SUCCESS.raw;
184
176 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 185 LOG_WARNING(Service_Y2R, "(STUBBED) called");
177} 186}
178 187
@@ -188,6 +197,7 @@ static void GetSpacialDithering(Service::Interface* self) {
188 cmd_buff[0] = IPC::MakeHeader(0xA, 2, 0); 197 cmd_buff[0] = IPC::MakeHeader(0xA, 2, 0);
189 cmd_buff[1] = RESULT_SUCCESS.raw; 198 cmd_buff[1] = RESULT_SUCCESS.raw;
190 cmd_buff[2] = spacial_dithering_enabled; 199 cmd_buff[2] = spacial_dithering_enabled;
200
191 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 201 LOG_WARNING(Service_Y2R, "(STUBBED) called");
192} 202}
193 203
@@ -204,6 +214,7 @@ static void SetTemporalDithering(Service::Interface* self) {
204 214
205 cmd_buff[0] = IPC::MakeHeader(0xB, 1, 0); 215 cmd_buff[0] = IPC::MakeHeader(0xB, 1, 0);
206 cmd_buff[1] = RESULT_SUCCESS.raw; 216 cmd_buff[1] = RESULT_SUCCESS.raw;
217
207 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 218 LOG_WARNING(Service_Y2R, "(STUBBED) called");
208} 219}
209 220
@@ -219,6 +230,7 @@ static void GetTemporalDithering(Service::Interface* self) {
219 cmd_buff[0] = IPC::MakeHeader(0xC, 2, 0); 230 cmd_buff[0] = IPC::MakeHeader(0xC, 2, 0);
220 cmd_buff[1] = RESULT_SUCCESS.raw; 231 cmd_buff[1] = RESULT_SUCCESS.raw;
221 cmd_buff[2] = temporal_dithering_enabled; 232 cmd_buff[2] = temporal_dithering_enabled;
233
222 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 234 LOG_WARNING(Service_Y2R, "(STUBBED) called");
223} 235}
224 236
@@ -235,6 +247,7 @@ static void SetTransferEndInterrupt(Service::Interface* self) {
235 247
236 cmd_buff[0] = IPC::MakeHeader(0xD, 1, 0); 248 cmd_buff[0] = IPC::MakeHeader(0xD, 1, 0);
237 cmd_buff[1] = RESULT_SUCCESS.raw; 249 cmd_buff[1] = RESULT_SUCCESS.raw;
250
238 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 251 LOG_WARNING(Service_Y2R, "(STUBBED) called");
239} 252}
240 253
@@ -250,6 +263,7 @@ static void GetTransferEndInterrupt(Service::Interface* self) {
250 cmd_buff[0] = IPC::MakeHeader(0xE, 2, 0); 263 cmd_buff[0] = IPC::MakeHeader(0xE, 2, 0);
251 cmd_buff[1] = RESULT_SUCCESS.raw; 264 cmd_buff[1] = RESULT_SUCCESS.raw;
252 cmd_buff[2] = transfer_end_interrupt_enabled; 265 cmd_buff[2] = transfer_end_interrupt_enabled;
266
253 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 267 LOG_WARNING(Service_Y2R, "(STUBBED) called");
254} 268}
255 269
@@ -265,6 +279,7 @@ static void GetTransferEndEvent(Service::Interface* self) {
265 cmd_buff[0] = IPC::MakeHeader(0xF, 2, 0); 279 cmd_buff[0] = IPC::MakeHeader(0xF, 2, 0);
266 cmd_buff[1] = RESULT_SUCCESS.raw; 280 cmd_buff[1] = RESULT_SUCCESS.raw;
267 cmd_buff[3] = Kernel::g_handle_table.Create(completion_event).MoveFrom(); 281 cmd_buff[3] = Kernel::g_handle_table.Create(completion_event).MoveFrom();
282
268 LOG_DEBUG(Service_Y2R, "called"); 283 LOG_DEBUG(Service_Y2R, "called");
269} 284}
270 285
@@ -275,13 +290,12 @@ static void SetSendingY(Service::Interface* self) {
275 conversion.src_Y.image_size = cmd_buff[2]; 290 conversion.src_Y.image_size = cmd_buff[2];
276 conversion.src_Y.transfer_unit = cmd_buff[3]; 291 conversion.src_Y.transfer_unit = cmd_buff[3];
277 conversion.src_Y.gap = cmd_buff[4]; 292 conversion.src_Y.gap = cmd_buff[4];
278 u32 src_process_handle = cmd_buff[6];
279 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
280 "src_process_handle=0x%08X", conversion.src_Y.image_size,
281 conversion.src_Y.transfer_unit, conversion.src_Y.gap, src_process_handle);
282 293
283 cmd_buff[0] = IPC::MakeHeader(0x10, 1, 0); 294 cmd_buff[0] = IPC::MakeHeader(0x10, 1, 0);
284 cmd_buff[1] = RESULT_SUCCESS.raw; 295 cmd_buff[1] = RESULT_SUCCESS.raw;
296
297 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, src_process_handle=0x%08X",
298 conversion.src_Y.image_size, conversion.src_Y.transfer_unit, conversion.src_Y.gap, cmd_buff[6]);
285} 299}
286 300
287static void SetSendingU(Service::Interface* self) { 301static void SetSendingU(Service::Interface* self) {
@@ -291,13 +305,12 @@ static void SetSendingU(Service::Interface* self) {
291 conversion.src_U.image_size = cmd_buff[2]; 305 conversion.src_U.image_size = cmd_buff[2];
292 conversion.src_U.transfer_unit = cmd_buff[3]; 306 conversion.src_U.transfer_unit = cmd_buff[3];
293 conversion.src_U.gap = cmd_buff[4]; 307 conversion.src_U.gap = cmd_buff[4];
294 u32 src_process_handle = cmd_buff[6];
295 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
296 "src_process_handle=0x%08X", conversion.src_U.image_size,
297 conversion.src_U.transfer_unit, conversion.src_U.gap, src_process_handle);
298 308
299 cmd_buff[0] = IPC::MakeHeader(0x11, 1, 0); 309 cmd_buff[0] = IPC::MakeHeader(0x11, 1, 0);
300 cmd_buff[1] = RESULT_SUCCESS.raw; 310 cmd_buff[1] = RESULT_SUCCESS.raw;
311
312 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, src_process_handle=0x%08X",
313 conversion.src_U.image_size, conversion.src_U.transfer_unit, conversion.src_U.gap, cmd_buff[6]);
301} 314}
302 315
303static void SetSendingV(Service::Interface* self) { 316static void SetSendingV(Service::Interface* self) {
@@ -307,13 +320,12 @@ static void SetSendingV(Service::Interface* self) {
307 conversion.src_V.image_size = cmd_buff[2]; 320 conversion.src_V.image_size = cmd_buff[2];
308 conversion.src_V.transfer_unit = cmd_buff[3]; 321 conversion.src_V.transfer_unit = cmd_buff[3];
309 conversion.src_V.gap = cmd_buff[4]; 322 conversion.src_V.gap = cmd_buff[4];
310 u32 src_process_handle = cmd_buff[6];
311 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
312 "src_process_handle=0x%08X", conversion.src_V.image_size,
313 conversion.src_V.transfer_unit, conversion.src_V.gap, src_process_handle);
314 323
315 cmd_buff[0] = IPC::MakeHeader(0x12, 1, 0); 324 cmd_buff[0] = IPC::MakeHeader(0x12, 1, 0);
316 cmd_buff[1] = RESULT_SUCCESS.raw; 325 cmd_buff[1] = RESULT_SUCCESS.raw;
326
327 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, src_process_handle=0x%08X",
328 conversion.src_V.image_size, conversion.src_V.transfer_unit, conversion.src_V.gap, cmd_buff[6]);
317} 329}
318 330
319static void SetSendingYUYV(Service::Interface* self) { 331static void SetSendingYUYV(Service::Interface* self) {
@@ -323,13 +335,12 @@ static void SetSendingYUYV(Service::Interface* self) {
323 conversion.src_YUYV.image_size = cmd_buff[2]; 335 conversion.src_YUYV.image_size = cmd_buff[2];
324 conversion.src_YUYV.transfer_unit = cmd_buff[3]; 336 conversion.src_YUYV.transfer_unit = cmd_buff[3];
325 conversion.src_YUYV.gap = cmd_buff[4]; 337 conversion.src_YUYV.gap = cmd_buff[4];
326 u32 src_process_handle = cmd_buff[6];
327 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
328 "src_process_handle=0x%08X", conversion.src_YUYV.image_size,
329 conversion.src_YUYV.transfer_unit, conversion.src_YUYV.gap, src_process_handle);
330 338
331 cmd_buff[0] = IPC::MakeHeader(0x13, 1, 0); 339 cmd_buff[0] = IPC::MakeHeader(0x13, 1, 0);
332 cmd_buff[1] = RESULT_SUCCESS.raw; 340 cmd_buff[1] = RESULT_SUCCESS.raw;
341
342 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, src_process_handle=0x%08X",
343 conversion.src_YUYV.image_size, conversion.src_YUYV.transfer_unit, conversion.src_YUYV.gap, cmd_buff[6]);
333} 344}
334 345
335/** 346/**
@@ -344,6 +355,7 @@ static void IsFinishedSendingYuv(Service::Interface* self) {
344 cmd_buff[0] = IPC::MakeHeader(0x14, 2, 0); 355 cmd_buff[0] = IPC::MakeHeader(0x14, 2, 0);
345 cmd_buff[1] = RESULT_SUCCESS.raw; 356 cmd_buff[1] = RESULT_SUCCESS.raw;
346 cmd_buff[2] = 1; 357 cmd_buff[2] = 1;
358
347 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 359 LOG_WARNING(Service_Y2R, "(STUBBED) called");
348} 360}
349 361
@@ -359,6 +371,7 @@ static void IsFinishedSendingY(Service::Interface* self) {
359 cmd_buff[0] = IPC::MakeHeader(0x15, 2, 0); 371 cmd_buff[0] = IPC::MakeHeader(0x15, 2, 0);
360 cmd_buff[1] = RESULT_SUCCESS.raw; 372 cmd_buff[1] = RESULT_SUCCESS.raw;
361 cmd_buff[2] = 1; 373 cmd_buff[2] = 1;
374
362 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 375 LOG_WARNING(Service_Y2R, "(STUBBED) called");
363} 376}
364 377
@@ -374,6 +387,7 @@ static void IsFinishedSendingU(Service::Interface* self) {
374 cmd_buff[0] = IPC::MakeHeader(0x16, 2, 0); 387 cmd_buff[0] = IPC::MakeHeader(0x16, 2, 0);
375 cmd_buff[1] = RESULT_SUCCESS.raw; 388 cmd_buff[1] = RESULT_SUCCESS.raw;
376 cmd_buff[2] = 1; 389 cmd_buff[2] = 1;
390
377 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 391 LOG_WARNING(Service_Y2R, "(STUBBED) called");
378} 392}
379 393
@@ -389,6 +403,7 @@ static void IsFinishedSendingV(Service::Interface* self) {
389 cmd_buff[0] = IPC::MakeHeader(0x17, 2, 0); 403 cmd_buff[0] = IPC::MakeHeader(0x17, 2, 0);
390 cmd_buff[1] = RESULT_SUCCESS.raw; 404 cmd_buff[1] = RESULT_SUCCESS.raw;
391 cmd_buff[2] = 1; 405 cmd_buff[2] = 1;
406
392 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 407 LOG_WARNING(Service_Y2R, "(STUBBED) called");
393} 408}
394 409
@@ -399,14 +414,12 @@ static void SetReceiving(Service::Interface* self) {
399 conversion.dst.image_size = cmd_buff[2]; 414 conversion.dst.image_size = cmd_buff[2];
400 conversion.dst.transfer_unit = cmd_buff[3]; 415 conversion.dst.transfer_unit = cmd_buff[3];
401 conversion.dst.gap = cmd_buff[4]; 416 conversion.dst.gap = cmd_buff[4];
402 u32 dst_process_handle = cmd_buff[6];
403 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
404 "dst_process_handle=0x%08X", conversion.dst.image_size,
405 conversion.dst.transfer_unit, conversion.dst.gap,
406 dst_process_handle);
407 417
408 cmd_buff[0] = IPC::MakeHeader(0x18, 1, 0); 418 cmd_buff[0] = IPC::MakeHeader(0x18, 1, 0);
409 cmd_buff[1] = RESULT_SUCCESS.raw; 419 cmd_buff[1] = RESULT_SUCCESS.raw;
420
421 LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, dst_process_handle=0x%08X",
422 conversion.dst.image_size, conversion.dst.transfer_unit, conversion.dst.gap, cmd_buff[6]);
410} 423}
411 424
412/** 425/**
@@ -421,15 +434,17 @@ static void IsFinishedReceiving(Service::Interface* self) {
421 cmd_buff[0] = IPC::MakeHeader(0x19, 2, 0); 434 cmd_buff[0] = IPC::MakeHeader(0x19, 2, 0);
422 cmd_buff[1] = RESULT_SUCCESS.raw; 435 cmd_buff[1] = RESULT_SUCCESS.raw;
423 cmd_buff[2] = 1; 436 cmd_buff[2] = 1;
437
424 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 438 LOG_WARNING(Service_Y2R, "(STUBBED) called");
425} 439}
426 440
427static void SetInputLineWidth(Service::Interface* self) { 441static void SetInputLineWidth(Service::Interface* self) {
428 u32* cmd_buff = Kernel::GetCommandBuffer(); 442 u32* cmd_buff = Kernel::GetCommandBuffer();
429 443
430 LOG_DEBUG(Service_Y2R, "called input_line_width=%u", cmd_buff[1]);
431 cmd_buff[0] = IPC::MakeHeader(0x1A, 1, 0); 444 cmd_buff[0] = IPC::MakeHeader(0x1A, 1, 0);
432 cmd_buff[1] = conversion.SetInputLineWidth(cmd_buff[1]).raw; 445 cmd_buff[1] = conversion.SetInputLineWidth(cmd_buff[1]).raw;
446
447 LOG_DEBUG(Service_Y2R, "called input_line_width=%u", cmd_buff[1]);
433} 448}
434 449
435static void GetInputLineWidth(Service::Interface* self) { 450static void GetInputLineWidth(Service::Interface* self) {
@@ -438,15 +453,17 @@ static void GetInputLineWidth(Service::Interface* self) {
438 cmd_buff[0] = IPC::MakeHeader(0x1B, 2, 0); 453 cmd_buff[0] = IPC::MakeHeader(0x1B, 2, 0);
439 cmd_buff[1] = RESULT_SUCCESS.raw; 454 cmd_buff[1] = RESULT_SUCCESS.raw;
440 cmd_buff[2] = conversion.input_line_width; 455 cmd_buff[2] = conversion.input_line_width;
456
441 LOG_DEBUG(Service_Y2R, "called input_line_width=%u", conversion.input_line_width); 457 LOG_DEBUG(Service_Y2R, "called input_line_width=%u", conversion.input_line_width);
442} 458}
443 459
444static void SetInputLines(Service::Interface* self) { 460static void SetInputLines(Service::Interface* self) {
445 u32* cmd_buff = Kernel::GetCommandBuffer(); 461 u32* cmd_buff = Kernel::GetCommandBuffer();
446 462
447 LOG_DEBUG(Service_Y2R, "called input_lines=%u", cmd_buff[1]);
448 cmd_buff[0] = IPC::MakeHeader(0x1C, 1, 0); 463 cmd_buff[0] = IPC::MakeHeader(0x1C, 1, 0);
449 cmd_buff[1] = conversion.SetInputLines(cmd_buff[1]).raw; 464 cmd_buff[1] = conversion.SetInputLines(cmd_buff[1]).raw;
465
466 LOG_DEBUG(Service_Y2R, "called input_lines=%u", cmd_buff[1]);
450} 467}
451 468
452static void GetInputLines(Service::Interface* self) { 469static void GetInputLines(Service::Interface* self) {
@@ -455,6 +472,7 @@ static void GetInputLines(Service::Interface* self) {
455 cmd_buff[0] = IPC::MakeHeader(0x1D, 2, 0); 472 cmd_buff[0] = IPC::MakeHeader(0x1D, 2, 0);
456 cmd_buff[1] = RESULT_SUCCESS.raw; 473 cmd_buff[1] = RESULT_SUCCESS.raw;
457 cmd_buff[2] = static_cast<u32>(conversion.input_lines); 474 cmd_buff[2] = static_cast<u32>(conversion.input_lines);
475
458 LOG_DEBUG(Service_Y2R, "called input_lines=%u", conversion.input_lines); 476 LOG_DEBUG(Service_Y2R, "called input_lines=%u", conversion.input_lines);
459} 477}
460 478
@@ -463,12 +481,13 @@ static void SetCoefficient(Service::Interface* self) {
463 481
464 const u16* coefficients = reinterpret_cast<const u16*>(&cmd_buff[1]); 482 const u16* coefficients = reinterpret_cast<const u16*>(&cmd_buff[1]);
465 std::memcpy(conversion.coefficients.data(), coefficients, sizeof(CoefficientSet)); 483 std::memcpy(conversion.coefficients.data(), coefficients, sizeof(CoefficientSet));
466 LOG_DEBUG(Service_Y2R, "called coefficients=[%hX, %hX, %hX, %hX, %hX, %hX, %hX, %hX]",
467 coefficients[0], coefficients[1], coefficients[2], coefficients[3],
468 coefficients[4], coefficients[5], coefficients[6], coefficients[7]);
469 484
470 cmd_buff[0] = IPC::MakeHeader(0x1E, 1, 0); 485 cmd_buff[0] = IPC::MakeHeader(0x1E, 1, 0);
471 cmd_buff[1] = RESULT_SUCCESS.raw; 486 cmd_buff[1] = RESULT_SUCCESS.raw;
487
488 LOG_DEBUG(Service_Y2R, "called coefficients=[%hX, %hX, %hX, %hX, %hX, %hX, %hX, %hX]",
489 coefficients[0], coefficients[1], coefficients[2], coefficients[3],
490 coefficients[4], coefficients[5], coefficients[6], coefficients[7]);
472} 491}
473 492
474static void GetCoefficient(Service::Interface* self) { 493static void GetCoefficient(Service::Interface* self) {
@@ -477,6 +496,8 @@ static void GetCoefficient(Service::Interface* self) {
477 cmd_buff[0] = IPC::MakeHeader(0x1F, 5, 0); 496 cmd_buff[0] = IPC::MakeHeader(0x1F, 5, 0);
478 cmd_buff[1] = RESULT_SUCCESS.raw; 497 cmd_buff[1] = RESULT_SUCCESS.raw;
479 std::memcpy(&cmd_buff[2], conversion.coefficients.data(), sizeof(CoefficientSet)); 498 std::memcpy(&cmd_buff[2], conversion.coefficients.data(), sizeof(CoefficientSet));
499
500 LOG_DEBUG(Service_Y2R, "called");
480} 501}
481 502
482static void SetStandardCoefficient(Service::Interface* self) { 503static void SetStandardCoefficient(Service::Interface* self) {
@@ -486,6 +507,7 @@ static void SetStandardCoefficient(Service::Interface* self) {
486 507
487 cmd_buff[0] = IPC::MakeHeader(0x20, 1, 0); 508 cmd_buff[0] = IPC::MakeHeader(0x20, 1, 0);
488 cmd_buff[1] = conversion.SetStandardCoefficient((StandardCoefficient)index).raw; 509 cmd_buff[1] = conversion.SetStandardCoefficient((StandardCoefficient)index).raw;
510
489 LOG_DEBUG(Service_Y2R, "called standard_coefficient=%u", index); 511 LOG_DEBUG(Service_Y2R, "called standard_coefficient=%u", index);
490} 512}
491 513
@@ -495,15 +517,15 @@ static void GetStandardCoefficient(Service::Interface* self) {
495 u32 index = cmd_buff[1]; 517 u32 index = cmd_buff[1];
496 518
497 if (index < ARRAY_SIZE(standard_coefficients)) { 519 if (index < ARRAY_SIZE(standard_coefficients)) {
498 std::memcpy(&cmd_buff[2], &standard_coefficients[index], sizeof(CoefficientSet));
499
500 cmd_buff[0] = IPC::MakeHeader(0x21, 5, 0); 520 cmd_buff[0] = IPC::MakeHeader(0x21, 5, 0);
501 cmd_buff[1] = RESULT_SUCCESS.raw; 521 cmd_buff[1] = RESULT_SUCCESS.raw;
522 std::memcpy(&cmd_buff[2], &standard_coefficients[index], sizeof(CoefficientSet));
523
502 LOG_DEBUG(Service_Y2R, "called standard_coefficient=%u ", index); 524 LOG_DEBUG(Service_Y2R, "called standard_coefficient=%u ", index);
503 } 525 } else {
504 else {
505 cmd_buff[0] = IPC::MakeHeader(0x21, 1, 0); 526 cmd_buff[0] = IPC::MakeHeader(0x21, 1, 0);
506 cmd_buff[1] = -1; 527 cmd_buff[1] = -1; // TODO(bunnei): Identify the correct error code for this
528
507 LOG_ERROR(Service_Y2R, "called standard_coefficient=%u The argument is invalid!", index); 529 LOG_ERROR(Service_Y2R, "called standard_coefficient=%u The argument is invalid!", index);
508 } 530 }
509} 531}
@@ -512,10 +534,11 @@ static void SetAlpha(Service::Interface* self) {
512 u32* cmd_buff = Kernel::GetCommandBuffer(); 534 u32* cmd_buff = Kernel::GetCommandBuffer();
513 535
514 conversion.alpha = cmd_buff[1]; 536 conversion.alpha = cmd_buff[1];
515 LOG_DEBUG(Service_Y2R, "called alpha=%hu", conversion.alpha);
516 537
517 cmd_buff[0] = IPC::MakeHeader(0x22, 1, 0); 538 cmd_buff[0] = IPC::MakeHeader(0x22, 1, 0);
518 cmd_buff[1] = RESULT_SUCCESS.raw; 539 cmd_buff[1] = RESULT_SUCCESS.raw;
540
541 LOG_DEBUG(Service_Y2R, "called alpha=%hu", conversion.alpha);
519} 542}
520 543
521static void GetAlpha(Service::Interface* self) { 544static void GetAlpha(Service::Interface* self) {
@@ -524,6 +547,7 @@ static void GetAlpha(Service::Interface* self) {
524 cmd_buff[0] = IPC::MakeHeader(0x23, 2, 0); 547 cmd_buff[0] = IPC::MakeHeader(0x23, 2, 0);
525 cmd_buff[1] = RESULT_SUCCESS.raw; 548 cmd_buff[1] = RESULT_SUCCESS.raw;
526 cmd_buff[2] = conversion.alpha; 549 cmd_buff[2] = conversion.alpha;
550
527 LOG_DEBUG(Service_Y2R, "called alpha=%hu", conversion.alpha); 551 LOG_DEBUG(Service_Y2R, "called alpha=%hu", conversion.alpha);
528} 552}
529 553
@@ -533,6 +557,7 @@ static void SetDitheringWeightParams(Service::Interface* self) {
533 557
534 cmd_buff[0] = IPC::MakeHeader(0x24, 1, 0); 558 cmd_buff[0] = IPC::MakeHeader(0x24, 1, 0);
535 cmd_buff[1] = RESULT_SUCCESS.raw; 559 cmd_buff[1] = RESULT_SUCCESS.raw;
560
536 LOG_DEBUG(Service_Y2R, "called"); 561 LOG_DEBUG(Service_Y2R, "called");
537} 562}
538 563
@@ -542,6 +567,7 @@ static void GetDitheringWeightParams(Service::Interface* self) {
542 cmd_buff[0] = IPC::MakeHeader(0x25, 9, 0); 567 cmd_buff[0] = IPC::MakeHeader(0x25, 9, 0);
543 cmd_buff[1] = RESULT_SUCCESS.raw; 568 cmd_buff[1] = RESULT_SUCCESS.raw;
544 std::memcpy(&cmd_buff[2], &dithering_weight_params, sizeof(DitheringWeightParams)); 569 std::memcpy(&cmd_buff[2], &dithering_weight_params, sizeof(DitheringWeightParams));
570
545 LOG_DEBUG(Service_Y2R, "called"); 571 LOG_DEBUG(Service_Y2R, "called");
546} 572}
547 573
@@ -549,17 +575,17 @@ static void StartConversion(Service::Interface* self) {
549 u32* cmd_buff = Kernel::GetCommandBuffer(); 575 u32* cmd_buff = Kernel::GetCommandBuffer();
550 576
551 // dst_image_size would seem to be perfect for this, but it doesn't include the gap :( 577 // dst_image_size would seem to be perfect for this, but it doesn't include the gap :(
552 u32 total_output_size = conversion.input_lines * 578 u32 total_output_size = conversion.input_lines * (conversion.dst.transfer_unit + conversion.dst.gap);
553 (conversion.dst.transfer_unit + conversion.dst.gap);
554 Memory::RasterizerFlushAndInvalidateRegion(Memory::VirtualToPhysicalAddress(conversion.dst.address), total_output_size); 579 Memory::RasterizerFlushAndInvalidateRegion(Memory::VirtualToPhysicalAddress(conversion.dst.address), total_output_size);
555 580
556 HW::Y2R::PerformConversion(conversion); 581 HW::Y2R::PerformConversion(conversion);
557 582
558 LOG_DEBUG(Service_Y2R, "called");
559 completion_event->Signal(); 583 completion_event->Signal();
560 584
561 cmd_buff[0] = IPC::MakeHeader(0x26, 1, 0); 585 cmd_buff[0] = IPC::MakeHeader(0x26, 1, 0);
562 cmd_buff[1] = RESULT_SUCCESS.raw; 586 cmd_buff[1] = RESULT_SUCCESS.raw;
587
588 LOG_DEBUG(Service_Y2R, "called");
563} 589}
564 590
565static void StopConversion(Service::Interface* self) { 591static void StopConversion(Service::Interface* self) {
@@ -567,6 +593,7 @@ static void StopConversion(Service::Interface* self) {
567 593
568 cmd_buff[0] = IPC::MakeHeader(0x27, 1, 0); 594 cmd_buff[0] = IPC::MakeHeader(0x27, 1, 0);
569 cmd_buff[1] = RESULT_SUCCESS.raw; 595 cmd_buff[1] = RESULT_SUCCESS.raw;
596
570 LOG_DEBUG(Service_Y2R, "called"); 597 LOG_DEBUG(Service_Y2R, "called");
571} 598}
572 599
@@ -582,6 +609,7 @@ static void IsBusyConversion(Service::Interface* self) {
582 cmd_buff[0] = IPC::MakeHeader(0x28, 2, 0); 609 cmd_buff[0] = IPC::MakeHeader(0x28, 2, 0);
583 cmd_buff[1] = RESULT_SUCCESS.raw; 610 cmd_buff[1] = RESULT_SUCCESS.raw;
584 cmd_buff[2] = 0; // StartConversion always finishes immediately 611 cmd_buff[2] = 0; // StartConversion always finishes immediately
612
585 LOG_DEBUG(Service_Y2R, "called"); 613 LOG_DEBUG(Service_Y2R, "called");
586} 614}
587 615
@@ -592,32 +620,38 @@ static void SetPackageParameter(Service::Interface* self) {
592 u32* cmd_buff = Kernel::GetCommandBuffer(); 620 u32* cmd_buff = Kernel::GetCommandBuffer();
593 621
594 auto params = reinterpret_cast<const ConversionParameters*>(&cmd_buff[1]); 622 auto params = reinterpret_cast<const ConversionParameters*>(&cmd_buff[1]);
595 LOG_DEBUG(Service_Y2R,
596 "called input_format=%hhu output_format=%hhu rotation=%hhu block_alignment=%hhu "
597 "input_line_width=%hu input_lines=%hu standard_coefficient=%hhu "
598 "reserved=%hhu alpha=%hX",
599 params->input_format, params->output_format, params->rotation, params->block_alignment,
600 params->input_line_width, params->input_lines, params->standard_coefficient,
601 params->padding, params->alpha);
602
603 ResultCode result = RESULT_SUCCESS;
604 623
605 conversion.input_format = params->input_format; 624 conversion.input_format = params->input_format;
606 conversion.output_format = params->output_format; 625 conversion.output_format = params->output_format;
607 conversion.rotation = params->rotation; 626 conversion.rotation = params->rotation;
608 conversion.block_alignment = params->block_alignment; 627 conversion.block_alignment = params->block_alignment;
609 result = conversion.SetInputLineWidth(params->input_line_width); 628
610 if (result.IsError()) goto cleanup; 629 ResultCode result = conversion.SetInputLineWidth(params->input_line_width);
630
631 if (result.IsError())
632 goto cleanup;
633
611 result = conversion.SetInputLines(params->input_lines); 634 result = conversion.SetInputLines(params->input_lines);
612 if (result.IsError()) goto cleanup; 635
636 if (result.IsError())
637 goto cleanup;
638
613 result = conversion.SetStandardCoefficient(params->standard_coefficient); 639 result = conversion.SetStandardCoefficient(params->standard_coefficient);
614 if (result.IsError()) goto cleanup; 640
641 if (result.IsError())
642 goto cleanup;
643
615 conversion.padding = params->padding; 644 conversion.padding = params->padding;
616 conversion.alpha = params->alpha; 645 conversion.alpha = params->alpha;
617 646
618cleanup: 647cleanup:
619 cmd_buff[0] = IPC::MakeHeader(0x29, 1, 0); 648 cmd_buff[0] = IPC::MakeHeader(0x29, 1, 0);
620 cmd_buff[1] = result.raw; 649 cmd_buff[1] = result.raw;
650
651 LOG_DEBUG(Service_Y2R, "called input_format=%hhu output_format=%hhu rotation=%hhu block_alignment=%hhu "
652 "input_line_width=%hu input_lines=%hu standard_coefficient=%hhu reserved=%hhu alpha=%hX",
653 params->input_format, params->output_format, params->rotation, params->block_alignment,
654 params->input_line_width, params->input_lines, params->standard_coefficient, params->padding, params->alpha);
621} 655}
622 656
623static void PingProcess(Service::Interface* self) { 657static void PingProcess(Service::Interface* self) {
@@ -626,6 +660,7 @@ static void PingProcess(Service::Interface* self) {
626 cmd_buff[0] = IPC::MakeHeader(0x2A, 2, 0); 660 cmd_buff[0] = IPC::MakeHeader(0x2A, 2, 0);
627 cmd_buff[1] = RESULT_SUCCESS.raw; 661 cmd_buff[1] = RESULT_SUCCESS.raw;
628 cmd_buff[2] = 0; 662 cmd_buff[2] = 0;
663
629 LOG_WARNING(Service_Y2R, "(STUBBED) called"); 664 LOG_WARNING(Service_Y2R, "(STUBBED) called");
630} 665}
631 666
@@ -651,6 +686,7 @@ static void DriverInitialize(Service::Interface* self) {
651 686
652 cmd_buff[0] = IPC::MakeHeader(0x2B, 1, 0); 687 cmd_buff[0] = IPC::MakeHeader(0x2B, 1, 0);
653 cmd_buff[1] = RESULT_SUCCESS.raw; 688 cmd_buff[1] = RESULT_SUCCESS.raw;
689
654 LOG_DEBUG(Service_Y2R, "called"); 690 LOG_DEBUG(Service_Y2R, "called");
655} 691}
656 692
@@ -659,6 +695,7 @@ static void DriverFinalize(Service::Interface* self) {
659 695
660 cmd_buff[0] = IPC::MakeHeader(0x2C, 1, 0); 696 cmd_buff[0] = IPC::MakeHeader(0x2C, 1, 0);
661 cmd_buff[1] = RESULT_SUCCESS.raw; 697 cmd_buff[1] = RESULT_SUCCESS.raw;
698
662 LOG_DEBUG(Service_Y2R, "called"); 699 LOG_DEBUG(Service_Y2R, "called");
663} 700}
664 701