summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/string_util.cpp6
-rw-r--r--src/core/core_timing.cpp10
-rw-r--r--src/core/hle/kernel/kernel.cpp4
-rw-r--r--src/core/hle/kernel/kernel.h2
-rw-r--r--src/core/hle/kernel/timer.cpp2
-rw-r--r--src/core/hle/service/cfg/cfg_u.cpp2
-rw-r--r--src/core/hle/service/fs/archive.cpp8
-rw-r--r--src/core/hle/service/gsp_gpu.cpp78
-rw-r--r--src/core/loader/loader.cpp4
-rw-r--r--src/video_core/gpu_debugger.h2
-rw-r--r--src/video_core/vertex_shader.cpp4
11 files changed, 70 insertions, 52 deletions
diff --git a/src/common/string_util.cpp b/src/common/string_util.cpp
index b3b772bd9..3264dd51a 100644
--- a/src/common/string_util.cpp
+++ b/src/common/string_util.cpp
@@ -426,7 +426,7 @@ std::u16string UTF8ToUTF16(const std::string& input)
426 426
427static std::string UTF16ToUTF8(const std::wstring& input) 427static std::string UTF16ToUTF8(const std::wstring& input)
428{ 428{
429 auto const size = WideCharToMultiByte(CP_UTF8, 0, input.data(), input.size(), nullptr, 0, nullptr, nullptr); 429 auto const size = WideCharToMultiByte(CP_UTF8, 0, input.data(), static_cast<int>(input.size()), nullptr, 0, nullptr, nullptr);
430 430
431 std::string output; 431 std::string output;
432 output.resize(size); 432 output.resize(size);
@@ -439,12 +439,12 @@ static std::string UTF16ToUTF8(const std::wstring& input)
439 439
440static std::wstring CPToUTF16(u32 code_page, const std::string& input) 440static std::wstring CPToUTF16(u32 code_page, const std::string& input)
441{ 441{
442 auto const size = MultiByteToWideChar(code_page, 0, input.data(), input.size(), nullptr, 0); 442 auto const size = MultiByteToWideChar(code_page, 0, input.data(), static_cast<int>(input.size()), nullptr, 0);
443 443
444 std::wstring output; 444 std::wstring output;
445 output.resize(size); 445 output.resize(size);
446 446
447 if (size == 0 || size != MultiByteToWideChar(code_page, 0, input.data(), input.size(), &output[0], output.size())) 447 if (size == 0 || size != MultiByteToWideChar(code_page, 0, input.data(), static_cast<int>(input.size()), &output[0], static_cast<int>(output.size())))
448 output.clear(); 448 output.clear();
449 449
450 return output; 450 return output;
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp
index d96d3fe16..a88a5dd17 100644
--- a/src/core/core_timing.cpp
+++ b/src/core/core_timing.cpp
@@ -459,7 +459,7 @@ void MoveEvents() {
459} 459}
460 460
461void ForceCheck() { 461void ForceCheck() {
462 int cycles_executed = g_slice_length - Core::g_app_core->down_count; 462 s64 cycles_executed = g_slice_length - Core::g_app_core->down_count;
463 global_timer += cycles_executed; 463 global_timer += cycles_executed;
464 // This will cause us to check for new events immediately. 464 // This will cause us to check for new events immediately.
465 Core::g_app_core->down_count = 0; 465 Core::g_app_core->down_count = 0;
@@ -468,7 +468,7 @@ void ForceCheck() {
468} 468}
469 469
470void Advance() { 470void Advance() {
471 int cycles_executed = g_slice_length - Core::g_app_core->down_count; 471 s64 cycles_executed = g_slice_length - Core::g_app_core->down_count;
472 global_timer += cycles_executed; 472 global_timer += cycles_executed;
473 Core::g_app_core->down_count = g_slice_length; 473 Core::g_app_core->down_count = g_slice_length;
474 474
@@ -504,13 +504,13 @@ void LogPendingEvents() {
504} 504}
505 505
506void Idle(int max_idle) { 506void Idle(int max_idle) {
507 int cycles_down = Core::g_app_core->down_count; 507 s64 cycles_down = Core::g_app_core->down_count;
508 if (max_idle != 0 && cycles_down > max_idle) 508 if (max_idle != 0 && cycles_down > max_idle)
509 cycles_down = max_idle; 509 cycles_down = max_idle;
510 510
511 if (first && cycles_down > 0) { 511 if (first && cycles_down > 0) {
512 int cycles_executed = g_slice_length - Core::g_app_core->down_count; 512 s64 cycles_executed = g_slice_length - Core::g_app_core->down_count;
513 int cycles_next_event = (int)(first->time - global_timer); 513 s64 cycles_next_event = first->time - global_timer;
514 514
515 if (cycles_next_event < cycles_executed + cycles_down) { 515 if (cycles_next_event < cycles_executed + cycles_down) {
516 cycles_down = cycles_next_event - cycles_executed; 516 cycles_down = cycles_next_event - cycles_executed;
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index eb61d8ef3..498b2ec98 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -96,7 +96,7 @@ ResultCode HandleTable::Close(Handle handle) {
96 if (!IsValid(handle)) 96 if (!IsValid(handle))
97 return ERR_INVALID_HANDLE; 97 return ERR_INVALID_HANDLE;
98 98
99 size_t slot = GetSlot(handle); 99 u16 slot = GetSlot(handle);
100 100
101 objects[slot] = nullptr; 101 objects[slot] = nullptr;
102 102
@@ -127,7 +127,7 @@ SharedPtr<Object> HandleTable::GetGeneric(Handle handle) const {
127} 127}
128 128
129void HandleTable::Clear() { 129void HandleTable::Clear() {
130 for (size_t i = 0; i < MAX_COUNT; ++i) { 130 for (u16 i = 0; i < MAX_COUNT; ++i) {
131 generations[i] = i + 1; 131 generations[i] = i + 1;
132 objects[i] = nullptr; 132 objects[i] = nullptr;
133 } 133 }
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 4d8e388b6..2d295ea00 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -253,7 +253,7 @@ private:
253 */ 253 */
254 static const size_t MAX_COUNT = 4096; 254 static const size_t MAX_COUNT = 4096;
255 255
256 static size_t GetSlot(Handle handle) { return handle >> 15; } 256 static u16 GetSlot(Handle handle) { return handle >> 15; }
257 static u16 GetGeneration(Handle handle) { return handle & 0x7FFF; } 257 static u16 GetGeneration(Handle handle) { return handle & 0x7FFF; }
258 258
259 /// Stores the Object referenced by the handle or null if the slot is empty. 259 /// Stores the Object referenced by the handle or null if the slot is empty.
diff --git a/src/core/hle/kernel/timer.cpp b/src/core/hle/kernel/timer.cpp
index aa0afb796..610e26a3c 100644
--- a/src/core/hle/kernel/timer.cpp
+++ b/src/core/hle/kernel/timer.cpp
@@ -63,7 +63,7 @@ void Timer::Clear() {
63 63
64/// The timer callback event, called when a timer is fired 64/// The timer callback event, called when a timer is fired
65static void TimerCallback(u64 timer_handle, int cycles_late) { 65static void TimerCallback(u64 timer_handle, int cycles_late) {
66 SharedPtr<Timer> timer = timer_callback_handle_table.Get<Timer>(timer_handle); 66 SharedPtr<Timer> timer = timer_callback_handle_table.Get<Timer>(static_cast<Handle>(timer_handle));
67 67
68 if (timer == nullptr) { 68 if (timer == nullptr) {
69 LOG_CRITICAL(Kernel, "Callback fired for invalid timer %08X", timer_handle); 69 LOG_CRITICAL(Kernel, "Callback fired for invalid timer %08X", timer_handle);
diff --git a/src/core/hle/service/cfg/cfg_u.cpp b/src/core/hle/service/cfg/cfg_u.cpp
index 4c5eac382..a65da90c5 100644
--- a/src/core/hle/service/cfg/cfg_u.cpp
+++ b/src/core/hle/service/cfg/cfg_u.cpp
@@ -85,7 +85,7 @@ static void GetCountryCodeID(Service::Interface* self) {
85 // The following algorithm will fail if the first country code isn't 0. 85 // The following algorithm will fail if the first country code isn't 0.
86 DEBUG_ASSERT(country_codes[0] == 0); 86 DEBUG_ASSERT(country_codes[0] == 0);
87 87
88 for (size_t id = 0; id < country_codes.size(); ++id) { 88 for (u16 id = 0; id < country_codes.size(); ++id) {
89 if (country_codes[id] == country_code) { 89 if (country_codes[id] == country_code) {
90 country_code_id = id; 90 country_code_id = id;
91 break; 91 break;
diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp
index 37bcec219..a69c4f25b 100644
--- a/src/core/hle/service/fs/archive.cpp
+++ b/src/core/hle/service/fs/archive.cpp
@@ -87,8 +87,8 @@ ResultVal<bool> File::SyncRequest() {
87 u32 length = cmd_buff[3]; 87 u32 length = cmd_buff[3];
88 u32 address = cmd_buff[5]; 88 u32 address = cmd_buff[5];
89 LOG_TRACE(Service_FS, "Read %s %s: offset=0x%llx length=%d address=0x%x", 89 LOG_TRACE(Service_FS, "Read %s %s: offset=0x%llx length=%d address=0x%x",
90 GetTypeName().c_str(), GetName().c_str(), offset, length, address); 90 GetTypeName().c_str(), GetName().c_str(), offset, length, address);
91 cmd_buff[2] = backend->Read(offset, length, Memory::GetPointer(address)); 91 cmd_buff[2] = static_cast<u32>(backend->Read(offset, length, Memory::GetPointer(address)));
92 break; 92 break;
93 } 93 }
94 94
@@ -100,8 +100,8 @@ ResultVal<bool> File::SyncRequest() {
100 u32 flush = cmd_buff[4]; 100 u32 flush = cmd_buff[4];
101 u32 address = cmd_buff[6]; 101 u32 address = cmd_buff[6];
102 LOG_TRACE(Service_FS, "Write %s %s: offset=0x%llx length=%d address=0x%x, flush=0x%x", 102 LOG_TRACE(Service_FS, "Write %s %s: offset=0x%llx length=%d address=0x%x, flush=0x%x",
103 GetTypeName().c_str(), GetName().c_str(), offset, length, address, flush); 103 GetTypeName().c_str(), GetName().c_str(), offset, length, address, flush);
104 cmd_buff[2] = backend->Write(offset, length, flush, Memory::GetPointer(address)); 104 cmd_buff[2] = static_cast<u32>(backend->Write(offset, length, flush, Memory::GetPointer(address)));
105 break; 105 break;
106 } 106 }
107 107
diff --git a/src/core/hle/service/gsp_gpu.cpp b/src/core/hle/service/gsp_gpu.cpp
index dcc1b6942..31e61391f 100644
--- a/src/core/hle/service/gsp_gpu.cpp
+++ b/src/core/hle/service/gsp_gpu.cpp
@@ -199,15 +199,22 @@ static void ReadHWRegs(Service::Interface* self) {
199static void SetBufferSwap(u32 screen_id, const FrameBufferInfo& info) { 199static void SetBufferSwap(u32 screen_id, const FrameBufferInfo& info) {
200 u32 base_address = 0x400000; 200 u32 base_address = 0x400000;
201 if (info.active_fb == 0) { 201 if (info.active_fb == 0) {
202 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].address_left1), 4, &info.address_left); 202 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_left1)), 4,
203 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].address_right1), 4, &info.address_right); 203 &info.address_left);
204 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_right1)), 4,
205 &info.address_right);
204 } else { 206 } else {
205 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].address_left2), 4, &info.address_left); 207 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_left2)), 4,
206 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].address_right2), 4, &info.address_right); 208 &info.address_left);
209 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_right2)), 4,
210 &info.address_right);
207 } 211 }
208 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].stride), 4, &info.stride); 212 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].stride)), 4,
209 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].color_format), 4, &info.format); 213 &info.stride);
210 WriteHWRegs(base_address + 4 * GPU_REG_INDEX(framebuffer_config[screen_id].active_fb), 4, &info.shown_fb); 214 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].color_format)), 4,
215 &info.format);
216 WriteHWRegs(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].active_fb)), 4,
217 &info.shown_fb);
211} 218}
212 219
213/** 220/**
@@ -346,11 +353,12 @@ static void ExecuteCommand(const Command& command, u32 thread_id) {
346 { 353 {
347 auto& params = command.set_command_list_last; 354 auto& params = command.set_command_list_last;
348 355
349 WriteGPURegister(GPU_REG_INDEX(command_processor_config.address), Memory::VirtualToPhysicalAddress(params.address) >> 3); 356 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(command_processor_config.address)),
350 WriteGPURegister(GPU_REG_INDEX(command_processor_config.size), params.size); 357 Memory::VirtualToPhysicalAddress(params.address) >> 3);
358 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(command_processor_config.size)), params.size);
351 359
352 // TODO: Not sure if we are supposed to always write this .. seems to trigger processing though 360 // TODO: Not sure if we are supposed to always write this .. seems to trigger processing though
353 WriteGPURegister(GPU_REG_INDEX(command_processor_config.trigger), 1); 361 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(command_processor_config.trigger)), 1);
354 362
355 break; 363 break;
356 } 364 }
@@ -360,27 +368,33 @@ static void ExecuteCommand(const Command& command, u32 thread_id) {
360 case CommandId::SET_MEMORY_FILL: 368 case CommandId::SET_MEMORY_FILL:
361 { 369 {
362 auto& params = command.memory_fill; 370 auto& params = command.memory_fill;
363 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[0].address_start), Memory::VirtualToPhysicalAddress(params.start1) >> 3); 371 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[0].address_start)),
364 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[0].address_end), Memory::VirtualToPhysicalAddress(params.end1) >> 3); 372 Memory::VirtualToPhysicalAddress(params.start1) >> 3);
365 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[0].size), params.end1 - params.start1); 373 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[0].address_end)),
366 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[0].value), params.value1); 374 Memory::VirtualToPhysicalAddress(params.end1) >> 3);
367 375 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[0].size)), params.end1 - params.start1);
368 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[1].address_start), Memory::VirtualToPhysicalAddress(params.start2) >> 3); 376 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[0].value)), params.value1);
369 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[1].address_end), Memory::VirtualToPhysicalAddress(params.end2) >> 3); 377
370 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[1].size), params.end2 - params.start2); 378 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[1].address_start)),
371 WriteGPURegister(GPU_REG_INDEX(memory_fill_config[1].value), params.value2); 379 Memory::VirtualToPhysicalAddress(params.start2) >> 3);
380 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[1].address_end)),
381 Memory::VirtualToPhysicalAddress(params.end2) >> 3);
382 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[1].size)), params.end2 - params.start2);
383 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(memory_fill_config[1].value)), params.value2);
372 break; 384 break;
373 } 385 }
374 386
375 case CommandId::SET_DISPLAY_TRANSFER: 387 case CommandId::SET_DISPLAY_TRANSFER:
376 { 388 {
377 auto& params = command.image_copy; 389 auto& params = command.image_copy;
378 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.input_address), Memory::VirtualToPhysicalAddress(params.in_buffer_address) >> 3); 390 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.input_address)),
379 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.output_address), Memory::VirtualToPhysicalAddress(params.out_buffer_address) >> 3); 391 Memory::VirtualToPhysicalAddress(params.in_buffer_address) >> 3);
380 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.input_size), params.in_buffer_size); 392 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.output_address)),
381 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.output_size), params.out_buffer_size); 393 Memory::VirtualToPhysicalAddress(params.out_buffer_address) >> 3);
382 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.flags), params.flags); 394 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.input_size)), params.in_buffer_size);
383 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.trigger), 1); 395 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.output_size)), params.out_buffer_size);
396 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.flags)), params.flags);
397 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.trigger)), 1);
384 break; 398 break;
385 } 399 }
386 400
@@ -388,14 +402,16 @@ static void ExecuteCommand(const Command& command, u32 thread_id) {
388 case CommandId::SET_TEXTURE_COPY: 402 case CommandId::SET_TEXTURE_COPY:
389 { 403 {
390 auto& params = command.image_copy; 404 auto& params = command.image_copy;
391 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.input_address), Memory::VirtualToPhysicalAddress(params.in_buffer_address) >> 3); 405 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.input_address)),
392 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.output_address), Memory::VirtualToPhysicalAddress(params.out_buffer_address) >> 3); 406 Memory::VirtualToPhysicalAddress(params.in_buffer_address) >> 3);
393 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.input_size), params.in_buffer_size); 407 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.output_address)),
394 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.output_size), params.out_buffer_size); 408 Memory::VirtualToPhysicalAddress(params.out_buffer_address) >> 3);
395 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.flags), params.flags); 409 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.input_size)), params.in_buffer_size);
410 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.output_size)), params.out_buffer_size);
411 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.flags)), params.flags);
396 412
397 // TODO: Should this register be set to 1 or should instead its value be OR-ed with 1? 413 // TODO: Should this register be set to 1 or should instead its value be OR-ed with 1?
398 WriteGPURegister(GPU_REG_INDEX(display_transfer_config.trigger), 1); 414 WriteGPURegister(static_cast<u32>(GPU_REG_INDEX(display_transfer_config.trigger)), 1);
399 break; 415 break;
400 } 416 }
401 417
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp
index 94dcc50f9..aca09b374 100644
--- a/src/core/loader/loader.cpp
+++ b/src/core/loader/loader.cpp
@@ -86,8 +86,10 @@ static const char* GetFileTypeString(FileType type) {
86 return "raw"; 86 return "raw";
87 case FileType::Error: 87 case FileType::Error:
88 case FileType::Unknown: 88 case FileType::Unknown:
89 return "unknown"; 89 break;
90 } 90 }
91
92 return "unknown";
91} 93}
92 94
93ResultStatus LoadFile(const std::string& filename) { 95ResultStatus LoadFile(const std::string& filename) {
diff --git a/src/video_core/gpu_debugger.h b/src/video_core/gpu_debugger.h
index c2c898992..03641d93b 100644
--- a/src/video_core/gpu_debugger.h
+++ b/src/video_core/gpu_debugger.h
@@ -64,7 +64,7 @@ public:
64 memcpy(&cmd, command_data, sizeof(GSP_GPU::Command)); 64 memcpy(&cmd, command_data, sizeof(GSP_GPU::Command));
65 65
66 ForEachObserver([this](DebuggerObserver* observer) { 66 ForEachObserver([this](DebuggerObserver* observer) {
67 observer->GXCommandProcessed(this->gx_command_history.size()); 67 observer->GXCommandProcessed(static_cast<int>(this->gx_command_history.size()));
68 } ); 68 } );
69 } 69 }
70 70
diff --git a/src/video_core/vertex_shader.cpp b/src/video_core/vertex_shader.cpp
index 0bd52231b..80935a50a 100644
--- a/src/video_core/vertex_shader.cpp
+++ b/src/video_core/vertex_shader.cpp
@@ -252,7 +252,7 @@ static void ProcessShaderCode(VertexShaderState& state) {
252 252
253 // TODO: Be stable against division by zero! 253 // TODO: Be stable against division by zero!
254 // TODO: I think this might be wrong... we should only use one component here 254 // TODO: I think this might be wrong... we should only use one component here
255 dest[i] = float24::FromFloat32(1.0 / src1[i].ToFloat32()); 255 dest[i] = float24::FromFloat32(1.0f / src1[i].ToFloat32());
256 } 256 }
257 257
258 break; 258 break;
@@ -267,7 +267,7 @@ static void ProcessShaderCode(VertexShaderState& state) {
267 267
268 // TODO: Be stable against division by zero! 268 // TODO: Be stable against division by zero!
269 // TODO: I think this might be wrong... we should only use one component here 269 // TODO: I think this might be wrong... we should only use one component here
270 dest[i] = float24::FromFloat32(1.0 / sqrt(src1[i].ToFloat32())); 270 dest[i] = float24::FromFloat32(1.0f / sqrt(src1[i].ToFloat32()));
271 } 271 }
272 272
273 break; 273 break;