mesa.git
19 years agoDirectFB driver (Claudio Ciccani)
Brian Paul [Mon, 3 Jan 2005 15:35:00 +0000 (15:35 +0000)]
DirectFB driver (Claudio Ciccani)

19 years agoupdates from Jouk
Brian Paul [Mon, 3 Jan 2005 15:01:26 +0000 (15:01 +0000)]
updates from Jouk

19 years agoTurns out I left flat primitives in vertex buffer mode. Switch them back to immediate...
Vladimir Dergachev [Mon, 3 Jan 2005 06:53:38 +0000 (06:53 +0000)]
Turns out I left flat primitives in vertex buffer mode. Switch them back to immediate which works correctly..

19 years agoEnable code to compute other constants that were used by R200 code.
Vladimir Dergachev [Mon, 3 Jan 2005 06:48:50 +0000 (06:48 +0000)]
Enable code to compute other constants that were used by R200 code.
Add fprintf to print these constants.
Correct t->size computation, so it works now.

19 years agoPort texture allocation code from R200.
Vladimir Dergachev [Mon, 3 Jan 2005 05:44:20 +0000 (05:44 +0000)]
Port texture allocation code from R200.
Hook it up, so lesson06 displays red colored textures.

19 years agoAdd texture units registers
Vladimir Dergachev [Sun, 2 Jan 2005 21:53:53 +0000 (21:53 +0000)]
Add texture units registers

19 years agoCleanup !
Vladimir Dergachev [Sun, 2 Jan 2005 06:16:44 +0000 (06:16 +0000)]
Cleanup !
I can not trigger any lockups now..

19 years agoI think I fixed the lockups issue.
Vladimir Dergachev [Sun, 2 Jan 2005 05:57:15 +0000 (05:57 +0000)]
I think I fixed the lockups issue.

19 years agoGet textures to work with NeHe lesson06.
Vladimir Dergachev [Sun, 2 Jan 2005 04:46:25 +0000 (04:46 +0000)]
Get textures to work with NeHe lesson06.
The code is still disabled since we are displaying random image data instead of actual texture and because I had to put a sleep(1) in lesson06 drawing loop to prevent lockups.

19 years agolinux-dri-x86 build fix from Andreas Stenglein.
Adam Jackson [Sun, 2 Jan 2005 03:36:53 +0000 (03:36 +0000)]
linux-dri-x86 build fix from Andreas Stenglein.

19 years agoImproved the performance of software fallbacks by not waiting for idle
Felix Kuehling [Sun, 2 Jan 2005 01:22:10 +0000 (01:22 +0000)]
Improved the performance of software fallbacks by not waiting for idle
in every single span function. Instead flush and wait in the
SpanRenderStart hook and in wrappers around _swrast_Copy/Draw/ReadPixels.
Misc. cleanups in savagespan.c while I'm there.

19 years agoRemoved all direct hardware access (MMIO, BCI) from the Savage DRI
Felix Kuehling [Sat, 1 Jan 2005 20:40:14 +0000 (20:40 +0000)]
Removed all direct hardware access (MMIO, BCI) from the Savage DRI
driver. It uses the new DRM version 2.0.x now, which has just been
committed to DRM CVS.

19 years agoUse DRM headers from $(DRM_SOURCE_PATH)/shared-core instead of .../shared.
Felix Kuehling [Sat, 1 Jan 2005 20:33:45 +0000 (20:33 +0000)]
Use DRM headers from $(DRM_SOURCE_PATH)/shared-core instead of .../shared.

19 years agoAdd a convenience function to issue CP delays.
Vladimir Dergachev [Sat, 1 Jan 2005 18:41:43 +0000 (18:41 +0000)]
Add a convenience function to issue CP delays.

19 years agoQualify the magic 20B0 register as SE_VTE_CNTL similar to R200. Looks like disabling...
Vladimir Dergachev [Fri, 31 Dec 2004 21:28:36 +0000 (21:28 +0000)]
Qualify the magic 20B0 register as SE_VTE_CNTL similar to R200. Looks like disabling Z offset and scaling displays gears properly, not sure why. Perhaps the meaning of the bits has changed ?

Cleanup code a bit.

19 years agoSync with master copy.
Vladimir Dergachev [Fri, 31 Dec 2004 20:57:48 +0000 (20:57 +0000)]
Sync with master copy.

19 years agoAdd texture drawing code. Note: it is broken at the moment and is disabled in CVS...
Vladimir Dergachev [Fri, 31 Dec 2004 19:39:03 +0000 (19:39 +0000)]
Add texture drawing code. Note: it is broken at the moment and is disabled in CVS. However, all hooks are there.
Fix vertex buffer drawing code.

19 years agoRework slightly r300_get_primitive_type - make it clearer and more compact..
Vladimir Dergachev [Thu, 30 Dec 2004 20:24:30 +0000 (20:24 +0000)]
Rework slightly r300_get_primitive_type - make it clearer and more compact..

19 years agoGet scissor test working again. Passes glean scissor test.
Keith Whitwell [Thu, 30 Dec 2004 17:47:08 +0000 (17:47 +0000)]
Get scissor test working again.  Passes glean scissor test.

19 years agoCalculate DEPTH_SCALE correctly for polygon offset.
Keith Whitwell [Thu, 30 Dec 2004 16:30:26 +0000 (16:30 +0000)]
Calculate DEPTH_SCALE correctly for polygon offset.

19 years agoSimplify viaBlit a bit more.
Keith Whitwell [Thu, 30 Dec 2004 16:13:35 +0000 (16:13 +0000)]
Simplify viaBlit a bit more.
Implement masked clears.

19 years agoAdd missing files.
Vladimir Dergachev [Thu, 30 Dec 2004 16:06:37 +0000 (16:06 +0000)]
Add missing files.

19 years agoInitialize depth pointer correctly.
Keith Whitwell [Thu, 30 Dec 2004 16:05:07 +0000 (16:05 +0000)]
Initialize depth pointer correctly.

19 years agoDon't need to adjust for drawXoff in fallback clipping.
Keith Whitwell [Thu, 30 Dec 2004 15:58:45 +0000 (15:58 +0000)]
Don't need to adjust for drawXoff in fallback clipping.

19 years agofix regression with fallbacks from recent commits
Keith Whitwell [Thu, 30 Dec 2004 14:32:19 +0000 (14:32 +0000)]
fix regression with fallbacks from recent commits

19 years agoFix MagFilter state for texunit 0
Keith Whitwell [Thu, 30 Dec 2004 14:21:46 +0000 (14:21 +0000)]
Fix MagFilter state for texunit 0

19 years agoUpdate vertex buffer code (still does not work properly..)
Vladimir Dergachev [Thu, 30 Dec 2004 11:43:04 +0000 (11:43 +0000)]
Update vertex buffer code (still does not work properly..)

19 years agoUpdate to recent r300_lib.
Vladimir Dergachev [Thu, 30 Dec 2004 11:17:42 +0000 (11:17 +0000)]
Update to recent r300_lib.
Cleanup code that is not relevant anymore.
Play with unknown2 parameter.

19 years agoHooked up projection matrix - the gears actually rotate !
Vladimir Dergachev [Thu, 30 Dec 2004 10:27:04 +0000 (10:27 +0000)]
Hooked up projection matrix - the gears actually rotate !

19 years agoRestructure code.
Vladimir Dergachev [Thu, 30 Dec 2004 10:11:39 +0000 (10:11 +0000)]
Restructure code.
Add drawing code that uses vertex buffers - does not lockup, but does not draw correctly either.. Perhaps something to do with vertices being overwritten ?
Start using hardware state retained by the driver and cut back on direct register writes significantly.

19 years agoChange default RS settings so that glxgears will display something..
Vladimir Dergachev [Thu, 30 Dec 2004 07:50:15 +0000 (07:50 +0000)]
Change default RS settings so that glxgears will display something..

19 years agoClarify some of the unkXXXX atoms.
Vladimir Dergachev [Thu, 30 Dec 2004 07:11:28 +0000 (07:11 +0000)]
Clarify some of the unkXXXX atoms.

19 years agoPort viewport setting code from R200.
Vladimir Dergachev [Thu, 30 Dec 2004 06:06:54 +0000 (06:06 +0000)]
Port viewport setting code from R200.
Take it outside R300ResetHwState.

19 years agoFix some wrapping bugs in the last commit. Probably there are more
Keith Whitwell [Wed, 29 Dec 2004 21:17:06 +0000 (21:17 +0000)]
Fix some wrapping bugs in the last commit.  Probably there are more
remaining.

19 years agoSimplfy clear() and swapbuffers() code.
Keith Whitwell [Wed, 29 Dec 2004 20:46:27 +0000 (20:46 +0000)]
Simplfy clear() and swapbuffers() code.
Fix various mishandling of cliprects.
Allow multiple primitives to be emitted to a single dma buffer, which
was largely impossible previously.
Re-enable the fast unclipped render stage.

19 years agoUse Point._Size in calculation
Keith Whitwell [Wed, 29 Dec 2004 14:38:17 +0000 (14:38 +0000)]
Use Point._Size in calculation

19 years agouse clamped Line._Width in calculations
Keith Whitwell [Wed, 29 Dec 2004 14:36:58 +0000 (14:36 +0000)]
use clamped Line._Width in calculations

19 years agoDon't advertise wide lines or points.
Keith Whitwell [Wed, 29 Dec 2004 14:09:21 +0000 (14:09 +0000)]
Don't advertise wide lines or points.

19 years agoMake line stipple a fallback.
Keith Whitwell [Wed, 29 Dec 2004 14:06:09 +0000 (14:06 +0000)]
Make line stipple a fallback.
Make sure fallbacks are wrapped by SpanRenderStart/SpanRenderFinish

19 years agoDon't pingpong cliprects through sarea on CopyBuffer().
Keith Whitwell [Wed, 29 Dec 2004 14:05:16 +0000 (14:05 +0000)]
Don't pingpong cliprects through sarea on CopyBuffer().

19 years agoFallback on 3d textures correctly.
Keith Whitwell [Wed, 29 Dec 2004 13:03:12 +0000 (13:03 +0000)]
Fallback on 3d textures correctly.

19 years agoGet twoside-lit triangles working again
Keith Whitwell [Wed, 29 Dec 2004 12:48:50 +0000 (12:48 +0000)]
Get twoside-lit triangles working again

19 years agoLarge update
Keith Whitwell [Wed, 29 Dec 2004 12:39:50 +0000 (12:39 +0000)]
Large update
- Remove via duplicates of shared template files
- Update driver to work with current versions of the above
- Rework dma accounting
- Rework emitting to dma to use a consistent set of macros

The handling of cliprects in the driver is still pretty questionable.

19 years agoRearrange code so we don't dump state as often.
Vladimir Dergachev [Wed, 29 Dec 2004 04:51:46 +0000 (04:51 +0000)]
Rearrange code so we don't dump state as often.

19 years agoGet most primitives working using immediate mode.
Vladimir Dergachev [Wed, 29 Dec 2004 04:33:33 +0000 (04:33 +0000)]
Get most primitives working using immediate mode.
Glxgears displays "rotating" gears, all in the same place (no transform mode, remember ?)
Work needs to be done to understand how to have glxgears working properly.

19 years agoBring in latest revision of r300_lib.
Vladimir Dergachev [Wed, 29 Dec 2004 03:48:05 +0000 (03:48 +0000)]
Bring in latest revision of r300_lib.
New capabilities: using vertex buffers, immediate vertex data, immediate indices.

19 years agoUse R300_CMD_END3D for end_3d().
Vladimir Dergachev [Mon, 27 Dec 2004 23:30:39 +0000 (23:30 +0000)]
Use R300_CMD_END3D for end_3d().

19 years agoFix read-from-uninitialized in s3vMakeCurrent()
Adam Jackson [Mon, 27 Dec 2004 22:57:05 +0000 (22:57 +0000)]
Fix read-from-uninitialized in s3vMakeCurrent()

19 years agoUnused variable cleanup.
Adam Jackson [Mon, 27 Dec 2004 22:08:34 +0000 (22:08 +0000)]
Unused variable cleanup.

19 years agoBug #1859: Initialize 'size' before first use in intelTryReadPixels()
Adam Jackson [Mon, 27 Dec 2004 21:52:17 +0000 (21:52 +0000)]
Bug #1859: Initialize 'size' before first use in intelTryReadPixels()

19 years agoBuild s3v and trident by default too.
Adam Jackson [Mon, 27 Dec 2004 20:38:29 +0000 (20:38 +0000)]
Build s3v and trident by default too.

Smoky the bear says: Only you can prevent bitrot.

19 years agoGet s3v building with a minimum of warnings.
Adam Jackson [Mon, 27 Dec 2004 20:31:56 +0000 (20:31 +0000)]
Get s3v building with a minimum of warnings.

19 years agoImplement rendering of (flat color) QUAD primitives as an experiment.
Vladimir Dergachev [Mon, 27 Dec 2004 17:18:48 +0000 (17:18 +0000)]
Implement rendering of (flat color) QUAD primitives as an experiment.

19 years agoFixed two problems with the handling of GLX protocol replies. The logic
Ian Romanick [Mon, 27 Dec 2004 08:29:54 +0000 (08:29 +0000)]
Fixed two problems with the handling of GLX protocol replies.  The logic
for determining when extra data needed to be read after a reply (to ensure
4-byte alignment) and the logic to determine whether or not to read reply
data after the SingleReply packet were both slightly wrong.

19 years agoExpose primitive types being rendered, in preparation to implement fixed pipeline...
Vladimir Dergachev [Sun, 26 Dec 2004 21:42:14 +0000 (21:42 +0000)]
Expose primitive types being rendered, in preparation to implement fixed pipeline primitive drawing.
Note: these are only visible when export LIBGL_DEBUG=verbose is specified.

19 years agoUpdate with most recent version.
Vladimir Dergachev [Sun, 26 Dec 2004 19:32:21 +0000 (19:32 +0000)]
Update with most recent version.

19 years agoGet trident building and -Werror clean.
Adam Jackson [Fri, 24 Dec 2004 03:04:14 +0000 (03:04 +0000)]
Get trident building and -Werror clean.

- Added Makefile
- Deleted references to old headers
- Added prototypes all over the place
- Lots of type updates (drmHandle -> drm_handle_t etc.)
- Added __driCreateNewScreen(), deleted __driCreateScreen()
- Fixed context creation to match other drivers
- Fixed various bitfield names
- Bumped driver date

Still nowhere close to usable, the DDX isn't DRI-aware and there's no DRM.

19 years agoSimplified and optimized _savage_texnorm_stage.
Felix Kuehling [Thu, 23 Dec 2004 20:26:59 +0000 (20:26 +0000)]
Simplified and optimized _savage_texnorm_stage.

19 years agoRemove the VIA_PERFORMANCE code. A step towards moving the driver
Keith Whitwell [Thu, 23 Dec 2004 18:26:40 +0000 (18:26 +0000)]
Remove the VIA_PERFORMANCE code.  A step towards moving the driver
back to using the shared template files.

19 years agoChop out more dead code.
Keith Whitwell [Thu, 23 Dec 2004 18:16:22 +0000 (18:16 +0000)]
Chop out more dead code.
Get the drawXoff adjustment working a bit better.
Seems to pass the glean orthoPos tests.

19 years agoFix merge error.
Keith Whitwell [Wed, 22 Dec 2004 19:31:10 +0000 (19:31 +0000)]
Fix merge error.

19 years agoRemove dead code.
Keith Whitwell [Wed, 22 Dec 2004 19:30:02 +0000 (19:30 +0000)]
Remove dead code.
Fix 24/8 depth/stencil visuals.

19 years agoEnabled hardware rendering of 1D textures. No need for a software fallback.
Felix Kuehling [Wed, 22 Dec 2004 16:12:59 +0000 (16:12 +0000)]
Enabled hardware rendering of 1D textures. No need for a software fallback.

19 years ago- Fake projective textures on a single texture unit. A fallback is only
Felix Kuehling [Wed, 22 Dec 2004 00:21:32 +0000 (00:21 +0000)]
- Fake projective textures on a single texture unit. A fallback is only
  needed if a second texture unit is enabled.
- Also worked around an application bug in Chromium B.S.U.: it sends 3D
  texture coordinates while only a 2D texture is enabled. This used to
  trigger a PTEX fallback. Now the 3rd coordinate is just ignored.
- Fixed the _savage_texnorm_stage to never normalize homogenous texture
  coordinates.

19 years agoRemove debug code which referenced an old global variable.
Keith Whitwell [Tue, 21 Dec 2004 23:07:13 +0000 (23:07 +0000)]
Remove debug code which referenced an old global variable.

19 years agoUsed GCC's __builtin_expect when available. Change the way code is
Ian Romanick [Tue, 21 Dec 2004 23:06:02 +0000 (23:06 +0000)]
Used GCC's __builtin_expect when available.  Change the way code is
generated for commands that can use RenderLarge packets.  Tweak the code for
__glXFlushRenderBuffer slightly.

19 years agoPush a number of global variables into the viaContext struct.
Keith Whitwell [Tue, 21 Dec 2004 22:42:00 +0000 (22:42 +0000)]
Push a number of global variables into the viaContext struct.
Remove the bogus 'current_vmesa' pointer.

19 years agoAdded some comments and fixed typeos. Slightly refactored the way
Ian Romanick [Tue, 21 Dec 2004 21:26:36 +0000 (21:26 +0000)]
Added some comments and fixed typeos.  Slightly refactored the way
function parameters are iterated.  There are no changes in the generated
code.

19 years ago`t' was not initialized (use `texture' instead?)
Daniel Borca [Tue, 21 Dec 2004 15:45:41 +0000 (15:45 +0000)]
`t' was not initialized (use `texture' instead?)

19 years agofix bug in _mesa_IsTexture()
Brian Paul [Tue, 21 Dec 2004 15:13:41 +0000 (15:13 +0000)]
fix bug in _mesa_IsTexture()

19 years agoNote that state is dirty on contended lock. Allows two applications
Keith Whitwell [Tue, 21 Dec 2004 13:23:10 +0000 (13:23 +0000)]
Note that state is dirty on contended lock.  Allows two applications
to run together correctly, though scheduling between them still isn't
great.

19 years agoAdd missing swap-control calculations.
Keith Whitwell [Tue, 21 Dec 2004 12:35:04 +0000 (12:35 +0000)]
Add missing swap-control calculations.
Remove debug printf.

19 years agoAdd vsync swapbuffers. This waits on the irq so gears run in this mode
Keith Whitwell [Tue, 21 Dec 2004 11:57:03 +0000 (11:57 +0000)]
Add vsync swapbuffers.  This waits on the irq so gears run in this mode
will have a very low cpu utilization (and also a very low framerate).

Fix up the pageflipping code.  This works now but is totally oblivious
to the X server (ie. it works but it's broken).  Turned off by a #define.

19 years agoadded GL_EXT_stencil_two_side (yes, it works)
Daniel Borca [Tue, 21 Dec 2004 08:21:52 +0000 (08:21 +0000)]
added GL_EXT_stencil_two_side (yes, it works)

19 years agomissing `or' in preprocessor conditional
Daniel Borca [Tue, 21 Dec 2004 08:05:43 +0000 (08:05 +0000)]
missing `or' in preprocessor conditional

19 years agoAdd a -fullscreen option
Keith Whitwell [Mon, 20 Dec 2004 14:48:19 +0000 (14:48 +0000)]
Add a -fullscreen option

19 years agoRemove #ifdef DEBUG's in code, but still allow compiler to remove debug
Keith Whitwell [Mon, 20 Dec 2004 12:52:21 +0000 (12:52 +0000)]
Remove #ifdef DEBUG's in code, but still allow compiler to remove debug
code if DEBUG not defined.

19 years agoput back clipmask code; it proved to be a MinGW/gcc 3.3.x error in t_vb_cliptmp.h...
Daniel Borca [Mon, 20 Dec 2004 08:24:10 +0000 (08:24 +0000)]
put back clipmask code; it proved to be a MinGW/gcc 3.3.x error in t_vb_cliptmp.h(47), where it would still send clipped vertices to the hw... oh, dear...

19 years agouse float constants.
Daniel Borca [Mon, 20 Dec 2004 08:20:39 +0000 (08:20 +0000)]
use float constants.
fixed a small debug error.

19 years agoremoved ifdef'ed out code (to whom it may concern: it can be found in dri/tdfx driver)
Daniel Borca [Mon, 20 Dec 2004 08:19:28 +0000 (08:19 +0000)]
removed ifdef'ed out code (to whom it may concern: it can be found in dri/tdfx driver)

19 years agoremoved detritus (ncc).
Daniel Borca [Mon, 20 Dec 2004 08:18:19 +0000 (08:18 +0000)]
removed detritus (ncc).

19 years agocomment reorg.
Daniel Borca [Mon, 20 Dec 2004 08:17:36 +0000 (08:17 +0000)]
comment reorg.
removed detritus (ncc).

19 years agomade some functions static.
Daniel Borca [Mon, 20 Dec 2004 08:16:24 +0000 (08:16 +0000)]
made some functions static.

19 years agocomment reorg.
Daniel Borca [Mon, 20 Dec 2004 08:15:50 +0000 (08:15 +0000)]
comment reorg.
made some functions static.
hide vp behind an envvar.
removed unnecessary multitex constraint for napalm hw.

19 years agoallow greater swappendingcount for older hw (v1/v2)
Daniel Borca [Mon, 20 Dec 2004 08:12:09 +0000 (08:12 +0000)]
allow greater swappendingcount for older hw (v1/v2)

19 years agomisc cleanup
Daniel Borca [Mon, 20 Dec 2004 08:09:25 +0000 (08:09 +0000)]
misc cleanup

19 years agoallow ARB vp/fp query program errors
Daniel Borca [Mon, 20 Dec 2004 08:08:15 +0000 (08:08 +0000)]
allow ARB vp/fp query program errors

19 years agoreally protect against npot compressed textures (logbase2 never returns -1).
Daniel Borca [Mon, 20 Dec 2004 08:03:01 +0000 (08:03 +0000)]
really protect against npot compressed textures (logbase2 never returns -1).

19 years agoUse GLX protocol code generated by glX_proto_send.py.
Ian Romanick [Mon, 20 Dec 2004 04:53:00 +0000 (04:53 +0000)]
Use GLX protocol code generated by glX_proto_send.py.

19 years agoNo GLX protocol for GL_ATI_fragment_shader.
Ian Romanick [Mon, 20 Dec 2004 04:47:46 +0000 (04:47 +0000)]
No GLX protocol for GL_ATI_fragment_shader.

19 years agoFix cut and paste error (reported by Jerome Glisse)
Vladimir Dergachev [Sun, 19 Dec 2004 15:39:40 +0000 (15:39 +0000)]
Fix cut and paste error (reported by Jerome Glisse)

19 years agoImplement software ATI_fragment_shader
Dave Airlie [Sun, 19 Dec 2004 03:06:59 +0000 (03:06 +0000)]
Implement software ATI_fragment_shader

no error detection, slow, may not be 100% correct but a good start

19 years agoConsolidate _swrast_write_texture_span() into _swrast_write_rgba_span().
Brian Paul [Sat, 18 Dec 2004 22:03:07 +0000 (22:03 +0000)]
Consolidate _swrast_write_texture_span() into _swrast_write_rgba_span().

19 years agoadded GL_ARB_pixel_buffer_object extension string
Brian Paul [Sat, 18 Dec 2004 16:19:08 +0000 (16:19 +0000)]
added GL_ARB_pixel_buffer_object extension string

19 years agoAdded PRINT instruction for GL_NV_fragment_program.
Brian Paul [Sat, 18 Dec 2004 16:18:00 +0000 (16:18 +0000)]
Added PRINT instruction for GL_NV_fragment_program.

19 years agoUnichrome DRI driver:
Thomas Hellström [Sat, 18 Dec 2004 12:16:12 +0000 (12:16 +0000)]
Unichrome DRI driver:
Fix for proplem where polygons partly outside the drawing window would get
one vertex clamped to the opposite window side. This bug could also cause
a hardlock. (Bugzilla #2066, Yann Vernier)

19 years agoMade debugging output controllable via environment variable
Felix Kuehling [Fri, 17 Dec 2004 15:55:17 +0000 (15:55 +0000)]
Made debugging output controllable via environment variable
SAVAGE_DEBUG. Added fallback debugs. Added no_rast option to disable
hardware rasterization (everything as software fallback).

19 years agoVMS update
Brian Paul [Fri, 17 Dec 2004 14:48:00 +0000 (14:48 +0000)]
VMS update

19 years agofxRasterPrimitive wasn't always receiving the reduced primitive
Daniel Borca [Fri, 17 Dec 2004 10:40:32 +0000 (10:40 +0000)]
fxRasterPrimitive wasn't always receiving the reduced primitive

19 years agofxRasterPrimitive wasn't always receiving the reduced primitive
Daniel Borca [Fri, 17 Dec 2004 08:08:37 +0000 (08:08 +0000)]
fxRasterPrimitive wasn't always receiving the reduced primitive