<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/video_core/shader/decode/arithmetic_integer.cpp, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2021-07-23T01:51:22+00:00</updated>
<entry>
<title>shader: Remove old shader management</title>
<updated>2021-07-23T01:51:22+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2021-02-16T23:52:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=65069df8aa3975b055d70c3c615f9c99d60c72e0'/>
<id>urn:sha1:65069df8aa3975b055d70c3c615f9c99d60c72e0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>video_core: Remove unnecessary enum class casting in logging messages</title>
<updated>2020-12-07T05:41:50+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2020-12-07T05:41:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=ea0e85b869ffc0dd372168bf9871bc2523554355'/>
<id>urn:sha1:ea0e85b869ffc0dd372168bf9871bc2523554355</id>
<content type='text'>
fmt now automatically prints the numeric value of an enum class member
by default, so we don't need to use casts any more.

Reduces the line noise a bit.
</content>
</entry>
<entry>
<title>video_core: Resolve more variable shadowing scenarios pt.3</title>
<updated>2020-12-05T21:02:23+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2020-12-05T16:40:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=5db4785535a6d5646e751e776356505e8e235554'/>
<id>urn:sha1:5db4785535a6d5646e751e776356505e8e235554</id>
<content type='text'>
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
</content>
</entry>
<entry>
<title>video_core: Allow copy elision to take place where applicable</title>
<updated>2020-07-21T04:36:13+00:00</updated>
<author>
<name>Lioncash</name>
<email>mathew1800@gmail.com</email>
</author>
<published>2020-07-21T04:29:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=991e4dc0b39d3b2b7033d1bc03b35f59726f80f2'/>
<id>urn:sha1:991e4dc0b39d3b2b7033d1bc03b35f59726f80f2</id>
<content type='text'>
Removes const from some variables that are returned from functions, as
this allows the move assignment/constructors to execute for them.
</content>
</entry>
<entry>
<title>shader/arithmetic_integer: Fix tracking issue in temporary</title>
<updated>2020-04-28T20:14:53+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-04-28T20:14:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=8d28a56a6cbf88f65dba24d332ad605935894913'/>
<id>urn:sha1:8d28a56a6cbf88f65dba24d332ad605935894913</id>
<content type='text'>
This temporary is not needed as we mark Rd.CC + IADD.X as unimplemented.
It caused issues when tracking global buffers.
</content>
</entry>
<entry>
<title>shader/arithmetic_integer: Fix edge case and mark IADD.X Rd.CC as unimplemented</title>
<updated>2020-04-26T01:58:33+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-04-26T01:53:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=7442f21c5b31668c3d6ce122cbbfca13914ac78c'/>
<id>urn:sha1:7442f21c5b31668c3d6ce122cbbfca13914ac78c</id>
<content type='text'>
IADD.X Rd.CC requires some extra logic that is not currently
implemented. Abort when this is hit.
</content>
</entry>
<entry>
<title>shader/arithmetic_integer: Change IAdd to UAdd to avoid signed overflow</title>
<updated>2020-04-26T01:57:54+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-04-26T01:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=45cb8fc72ac4fe349056371e7d6b80b679ace123'/>
<id>urn:sha1:45cb8fc72ac4fe349056371e7d6b80b679ace123</id>
<content type='text'>
Signed integer addition overflow might be undefined behavior. It's free
to change operations to UAdd and use unsigned integers to avoid
potential bugs.
</content>
</entry>
<entry>
<title>shader/arithmetic_integer: Implement IADD.X</title>
<updated>2020-04-26T01:56:11+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-04-26T01:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=6404cd824bd5db9519cec6fb07f2e5f67867946d'/>
<id>urn:sha1:6404cd824bd5db9519cec6fb07f2e5f67867946d</id>
<content type='text'>
IADD.X takes the carry flag and adds it to the result. This is generally
used to emulate 64-bit operations with 32-bit registers.
</content>
</entry>
<entry>
<title>shader/arithmetic_integer: Implement CC for IADD</title>
<updated>2020-04-26T01:55:26+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-04-26T00:56:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=7e8f51273c3cac70337eb18fbd875eb060456a6f'/>
<id>urn:sha1:7e8f51273c3cac70337eb18fbd875eb060456a6f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>shader/arithmetic_integer: Fix LEA_IMM encoding</title>
<updated>2020-04-21T00:54:59+00:00</updated>
<author>
<name>ReinUsesLisp</name>
<email>reinuseslisp@airmail.cc</email>
</author>
<published>2020-04-21T00:54:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=6da525c8d291e51b49f082b484e787c66aba2cdb'/>
<id>urn:sha1:6da525c8d291e51b49f082b484e787c66aba2cdb</id>
<content type='text'>
The operand order in LEA_IMM was flipped compared to nvdisasm. Fix that
using nxas as reference:

https://github.com/ReinUsesLisp/nxas/blob/8dbc38995711cc12206aa370145a3a02665fd989/table.h#L122
</content>
</entry>
</feed>
