about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 6956Kartik Agaram2020-10-051-16/+30
|
* 6955Kartik Agaram2020-10-051-27/+30
|
* 6954Kartik Agaram2020-10-051-13/+13
|
* 6953Kartik Agaram2020-10-052-0/+180006
|
* 6952 - raytracing: much betterKartik Agaram2020-10-045-2/+330
| | | | | | | | | | | | | | | The image is now visually indistinguishable from the baseline, though the file isn't quite bit-for-bit correct. I found 3 bugs: a) I forgot to normalize the ray. After creating a helper to "automatically" do it for me, it turns out said helper requires manually using. b) I forgot to multiply by t at one place. c) vec3-length was half-written. For the umpteenth time, the bugs were all in the last place I looked. I was worried about spending a lot of time transcribing `main` without any feedback, but that turned out to be perfect.
* 6951 - 4 colors for Mu as wellKartik Agaram2020-10-042-84/+89
|
* 6950Kartik Agaram2020-10-041-0/+459
|
* 6949 - snapshot of next raytracing milestoneKartik Agaram2020-10-046-70/+388
| | | | | | | | | | | | | Not yet right, but worth a snapshot just because it gives a cool result. Here, try it out: $ ./translate_mu_debug apps/raytracing/3.mu $ ./a.elf > x.ppm Now view x.ppm as an image. In general, this was quite tedious to write. And a still-open question is how to emit the progress bar to stderr. My options are to either duplicate all my print-* functions (already proliferating) or add global variables to Mu.
* 6948 - stress-testing prints of floatsKartik Agaram2020-10-044-3/+154
| | | | Looks good.
* 6947 - change exponent separator since 'e' is hexKartik Agaram2020-10-041-3/+3
|
* 6946 - print floats somewhat intuitively in hexKartik Agaram2020-10-0418-44/+314
|
* 6945Kartik Agaram2020-10-041-2/+2
|
* 6944Kartik Agaram2020-10-042-0/+7
|
* 6943Kartik Agaram2020-10-044-97/+71
| | | | | | | | Move some implementation around for floating-point. I originally thought I wouldn't bother supporting sigils like %xmm0. But it turns out I need them to pass floats into SubX function calls. And it turns out the sigils work fine for free.
* 6942Kartik Agaram2020-10-042-0/+20
|
* 6941 - detective story for the dayKartik Agaram2020-10-032-0/+119
|
* 6940Kartik Agaram2020-10-031-10/+10
|
* 6939Kartik Agaram2020-10-031-0/+6
|
* 6938 - start colorizing floating-point registersKartik Agaram2020-10-032-7/+7
|
* 6937Kartik Agaram2020-10-032-36/+42
|
* 6936Kartik Agaram2020-10-031-0/+146
|
* 6935 - raytracing using floatsKartik Agaram2020-10-034-0/+65691
|
* 6934Kartik Agaram2020-10-032-0/+26
|
* 6933Kartik Agaram2020-10-031-10/+11
|
* 6932 - another bug related to floatsKartik Agaram2020-10-032-0/+70
| | | | | | | For most of Mu's history we've selected between primitives based on types just by checking whether a type is a literal or not. Now we've started checking if it's a float as well. However, floats need one additional check: the call site may have an (addr float) that is dereferenced.
* 6931 - support fp registers in variable lookupKartik Agaram2020-10-032-4/+82
|
* 6930Kartik Agaram2020-10-032-4/+2
|
* 6929Kartik Agaram2020-10-031-22/+32
|
* 6928Kartik Agaram2020-10-031-0/+1
|
* 6927 - working on a raytracing tutorialKartik Agaram2020-10-037-0/+65702
| | | | https://raytracing.github.io/books/RayTracingInOneWeekend.html
* 6926Kartik Agaram2020-10-021-0/+4
|
* 6925 - tile: don't try to print escape sequencesKartik Agaram2020-10-013-1/+50
|
* 6924Kartik Agaram2020-10-013-14/+13
|
* 6923Kartik Agaram2020-10-0183-24543/+0
|
* 6922Kartik Agaram2020-10-012-2/+60
|
* 6921Kartik Agaram2020-10-011-1/+1
|
* 6920Kartik Agaram2020-10-012-2/+2
|
* 6919Kartik Agaram2020-10-011-6/+98
|
* 6918Kartik Agaram2020-10-011-0/+0
| | | | Fix CI.
* 6917Kartik Agaram2020-09-301-4/+4
|
* 6916Kartik Agaram2020-09-301-22849/+24621
|
* 6915 - a new family of Mu branch instructionsKartik Agaram2020-09-303-2/+432
| | | | | | The realization of commit 6916 means that we should be using jump-if-addr* after comparing floats. Which is super ugly. Let's create aliases to them called jump-if-float*.
* 6914Kartik Agaram2020-09-301-13/+13
|
* 6913 - copying floats aroundKartik Agaram2020-09-302-0/+77
|
* 6912Kartik Agaram2020-09-302-12/+12
|
* 6911 - comparing floatsKartik Agaram2020-09-305-23/+63
| | | | | | | It turns out floating-point operations set different flags than most instructions. We have to branch on them using unsigned jumps. https://stackoverflow.com/questions/7057501/x86-assembler-floating-point-compare/7057771#7057771
* 6910 - emulate most floating-point operationsKartik Agaram2020-09-302-4/+311
|
* 6909Kartik Agaram2020-09-301-6/+5
|
* 6908 - compiling all floating-point operationsKartik Agaram2020-09-3017-47/+843
| | | | | We don't yet support emulating these instructions in `bootstrap`. But generated binaries containing them run natively just fine.
* 6907 - converting to and from floating-pointKartik Agaram2020-09-292-9/+163
| | | | Some bugfixes to the previous commit.